Ticket #3011: 0008-Automatically-convert-all-CLogger-format-strings-fro.patch

File 0008-Automatically-convert-all-CLogger-format-strings-fro.patch, 206.4 KB (added by Philip Taylor, 9 years ago)
  • source/graphics/ColladaManager.cpp

    From 67e0321688af37571a7cb77fcde70f9513bf89db Mon Sep 17 00:00:00 2001
    From: Philip Taylor <philip@zaynar.co.uk>
    Date: Tue, 20 Jan 2015 23:16:14 +0000
    Subject: [PATCH 08/13] Automatically convert all CLogger format strings from
     wchar_t* to char*.
    
    Done with:
    
      ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed -i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'
    ---
     source/graphics/ColladaManager.cpp                 | 32 ++++-----
     source/graphics/FontManager.cpp                    |  6 +-
     source/graphics/LOSTexture.cpp                     |  4 +-
     source/graphics/MapGenerator.cpp                   | 22 +++---
     source/graphics/MapReader.cpp                      | 14 ++--
     source/graphics/MapWriter.cpp                      |  4 +-
     source/graphics/MeshManager.cpp                    |  4 +-
     source/graphics/Model.cpp                          |  2 +-
     source/graphics/ModelAbstract.cpp                  |  4 +-
     source/graphics/ObjectBase.cpp                     |  4 +-
     source/graphics/ObjectEntry.cpp                    | 12 ++--
     source/graphics/ObjectManager.cpp                  |  2 +-
     source/graphics/ParticleEmitterType.cpp            |  2 +-
     source/graphics/ShaderManager.cpp                  |  8 +--
     source/graphics/ShaderProgram.cpp                  | 18 ++---
     source/graphics/ShaderProgramFFP.cpp               |  2 +-
     source/graphics/SkeletonAnimManager.cpp            |  8 +--
     source/graphics/TerrainTextureEntry.cpp            |  4 +-
     source/graphics/TerrainTextureManager.cpp          |  6 +-
     source/graphics/TextureConverter.cpp               | 26 +++----
     source/graphics/TextureManager.cpp                 | 10 +--
     source/graphics/scripting/JSInterface_GameView.cpp |  4 +-
     source/gui/CGUI.cpp                                | 82 +++++++++++-----------
     source/gui/CGUIScrollBarVertical.cpp               |  2 +-
     source/gui/COList.cpp                              |  6 +-
     source/gui/GUIManager.cpp                          | 20 +++---
     source/gui/GUIRenderer.cpp                         |  4 +-
     source/gui/GUITooltip.cpp                          | 10 +--
     source/gui/GUIbase.cpp                             |  6 +-
     source/gui/GUItext.cpp                             | 34 ++++-----
     source/gui/GUIutil.cpp                             | 22 +++---
     source/gui/IGUIObject.cpp                          |  2 +-
     source/gui/scripting/ScriptFunctions.cpp           | 12 ++--
     source/i18n/L10n.cpp                               | 14 ++--
     source/lib/sysdep/os/linux/dir_watch_inotify.cpp   |  4 +-
     source/lobby/XmppClient.cpp                        |  8 +--
     source/main.cpp                                    |  2 +-
     source/network/NetClient.cpp                       |  8 +--
     source/network/NetFileTransfer.cpp                 | 18 ++---
     source/network/NetHost.cpp                         |  6 +-
     source/network/NetMessage.cpp                      |  6 +-
     source/network/NetServer.cpp                       | 42 +++++------
     source/network/NetSession.cpp                      |  6 +-
     source/network/NetTurnManager.cpp                  | 12 ++--
     source/ps/CStrIntern.cpp                           |  2 +-
     source/ps/ConfigDB.cpp                             | 26 +++----
     source/ps/DllLoader.cpp                            |  6 +-
     source/ps/FileIo.cpp                               |  2 +-
     source/ps/Filesystem.cpp                           |  2 +-
     source/ps/GameSetup/Config.cpp                     |  4 +-
     source/ps/GameSetup/GameSetup.cpp                  | 26 +++----
     source/ps/GameSetup/HWDetect.cpp                   |  2 +-
     source/ps/GameSetup/Paths.cpp                      |  2 +-
     source/ps/Hotkey.cpp                               |  2 +-
     source/ps/Joystick.cpp                             | 10 +--
     source/ps/Overlay.cpp                              |  8 +--
     source/ps/Preprocessor.cpp                         |  4 +-
     source/ps/PreprocessorWrapper.cpp                  |  4 +-
     source/ps/ProfileViewer.cpp                        |  4 +-
     source/ps/Profiler2.cpp                            | 10 +--
     source/ps/SavedGame.cpp                            |  2 +-
     source/ps/TemplateLoader.cpp                       | 26 +++----
     source/ps/Util.cpp                                 |  4 +-
     source/ps/VideoMode.cpp                            | 18 ++---
     source/ps/World.cpp                                |  2 +-
     source/ps/XML/RelaxNG.cpp                          | 10 +--
     source/ps/XML/XMLWriter.cpp                        |  2 +-
     source/ps/XML/Xeromyces.cpp                        | 10 +--
     source/ps/scripting/JSInterface_ConfigDB.cpp       |  2 +-
     source/ps/scripting/JSInterface_Console.cpp        |  2 +-
     source/ps/scripting/JSInterface_VFS.cpp            |  2 +-
     source/renderer/DecalRData.cpp                     |  4 +-
     source/renderer/ModelRenderer.cpp                  |  2 +-
     source/renderer/PatchRData.cpp                     |  2 +-
     source/renderer/PostprocManager.cpp                |  8 +--
     source/renderer/Renderer.cpp                       | 12 ++--
     source/renderer/ShadowMap.cpp                      |  4 +-
     source/renderer/SkyManager.cpp                     |  4 +-
     source/renderer/TerrainRenderer.cpp                |  2 +-
     source/renderer/VertexBufferManager.cpp            |  2 +-
     source/renderer/WaterManager.cpp                   |  6 +-
     source/scriptinterface/DebuggingServer.cpp         |  4 +-
     source/scriptinterface/ScriptInterface.cpp         | 36 +++++-----
     source/scriptinterface/ThreadDebugger.cpp          |  8 +--
     source/simulation2/Simulation2.cpp                 | 14 ++--
     source/simulation2/components/CCmpAIManager.cpp    | 36 +++++-----
     source/simulation2/components/CCmpCommandQueue.cpp |  4 +-
     source/simulation2/components/CCmpObstruction.cpp  |  6 +-
     source/simulation2/components/CCmpPathfinder.cpp   |  4 +-
     source/simulation2/components/CCmpPosition.cpp     | 24 +++----
     .../components/CCmpProjectileManager.cpp           |  2 +-
     .../components/CCmpRallyPointRenderer.cpp          |  2 +-
     source/simulation2/components/CCmpRangeManager.cpp | 16 ++---
     .../simulation2/components/CCmpTemplateManager.cpp |  4 +-
     source/simulation2/components/CCmpUnitMotion.cpp   |  2 +-
     source/simulation2/components/CCmpVisualActor.cpp  |  6 +-
     source/simulation2/components/ICmpVisibility.cpp   |  2 +-
     .../scripting/EngineScriptConversions.cpp          |  2 +-
     .../scripting/MessageTypeConversions.cpp           | 22 +++---
     source/simulation2/scripting/ScriptComponent.cpp   |  6 +-
     source/simulation2/scripting/ScriptComponent.h     |  4 +-
     .../simulation2/serialization/BinarySerializer.cpp |  6 +-
     source/simulation2/system/ComponentManager.cpp     | 18 ++---
     .../system/ComponentManagerSerialization.cpp       |  8 +--
     source/simulation2/system/ParamNode.cpp            |  2 +-
     source/soundmanager/SoundManager.cpp               | 10 +--
     source/soundmanager/data/SoundData.cpp             |  2 +-
     source/soundmanager/items/CSoundBase.cpp           |  2 +-
     source/soundmanager/scripting/SoundGroup.cpp       |  4 +-
     source/tools/atlas/GameInterface/GameLoop.cpp      |  2 +-
     .../atlas/GameInterface/Handlers/MapHandlers.cpp   |  8 +--
     .../GameInterface/Handlers/ObjectHandlers.cpp      |  2 +-
     112 files changed, 516 insertions(+), 516 deletions(-)
    
    diff --git a/source/graphics/ColladaManager.cpp b/source/graphics/ColladaManager.cpp
    index 35552e1..c6176d2 100644
    a b namespace  
    4242        VfsPath* path = static_cast<VfsPath*>(cb_data);
    4343
    4444        if (severity == LOG_INFO)
    45             LOGMESSAGE(L"%ls: %hs", path->string().c_str(), text);
     45            LOGMESSAGE("%ls: %hs", path->string().c_str(), text);
    4646        else if (severity == LOG_WARNING)
    47             LOGWARNING(L"%ls: %hs", path->string().c_str(), text);
     47            LOGWARNING("%ls: %hs", path->string().c_str(), text);
    4848        else
    49             LOGERROR(L"%ls: %hs", path->string().c_str(), text);
     49            LOGERROR("%ls: %hs", path->string().c_str(), text);
    5050    }
    5151
    5252    void ColladaOutput(void* cb_data, const char* data, unsigned int length)
    public:  
    9999        if (!dll.IsLoaded() && !TryLoadDLL())
    100100            return ERR::FAIL;   
    101101
    102         LOGMESSAGE(L"Hotloading skeleton definitions from '%ls'", path.string().c_str());
     102        LOGMESSAGE("Hotloading skeleton definitions from '%ls'", path.string().c_str());
    103103        // Set the filename for the logger to report
    104104        set_logger(ColladaLog, const_cast<void*>(static_cast<const void*>(&path)));
    105105
    106106        CVFSFile skeletonFile;
    107107        if (skeletonFile.Load(m_VFS, path) != PSRETURN_OK)
    108108        {
    109             LOGERROR(L"Failed to read skeleton defintions from '%ls'", path.string().c_str());
     109            LOGERROR("Failed to read skeleton defintions from '%ls'", path.string().c_str());
    110110            return ERR::FAIL;
    111111        }
    112112
    113113        int ok = set_skeleton_definitions((const char*)skeletonFile.GetBuffer(), (int)skeletonFile.GetBufferSize());
    114114        if (ok < 0)
    115115        {
    116             LOGERROR(L"Failed to load skeleton definitions from '%ls'", path.string().c_str());
     116            LOGERROR("Failed to load skeleton definitions from '%ls'", path.string().c_str());
    117117            return ERR::FAIL;
    118118        }
    119119
    public:  
    189189    {
    190190        if (!dll.LoadDLL())
    191191        {
    192             LOGERROR(L"Failed to load COLLADA conversion DLL");
     192            LOGERROR("Failed to load COLLADA conversion DLL");
    193193            return false;
    194194        }
    195195
    public:  
    202202        }
    203203        catch (PSERROR_DllLoader&)
    204204        {
    205             LOGERROR(L"Failed to load symbols from COLLADA conversion DLL");
     205            LOGERROR("Failed to load symbols from COLLADA conversion DLL");
    206206            dll.Unload();
    207207            return false;
    208208        }
    public:  
    214214        VfsPaths pathnames;
    215215        if (vfs::GetPathnames(m_VFS, L"art/skeletons/", L"*.xml", pathnames) < 0)
    216216        {
    217             LOGERROR(L"No skeleton definition files present");
     217            LOGERROR("No skeleton definition files present");
    218218            return false;
    219219        }
    220220
    221221        bool loaded = false;
    222222        for (VfsPaths::const_iterator it = pathnames.begin(); it != pathnames.end(); ++it)
    223223        {
    224             LOGMESSAGE(L"Loading skeleton definitions from '%ls'", it->string().c_str());
     224            LOGMESSAGE("Loading skeleton definitions from '%ls'", it->string().c_str());
    225225            // Set the filename for the logger to report
    226226            set_logger(ColladaLog, const_cast<void*>(static_cast<const void*>(&(*it))));
    227227
    228228            CVFSFile skeletonFile;
    229229            if (skeletonFile.Load(m_VFS, *it) != PSRETURN_OK)
    230230            {
    231                 LOGERROR(L"Failed to read skeleton defintions from '%ls'", it->string().c_str());
     231                LOGERROR("Failed to read skeleton defintions from '%ls'", it->string().c_str());
    232232                continue;
    233233            }
    234234
    235235            int ok = set_skeleton_definitions((const char*)skeletonFile.GetBuffer(), (int)skeletonFile.GetBufferSize());
    236236            if (ok < 0)
    237237            {
    238                 LOGERROR(L"Failed to load skeleton definitions from '%ls'", it->string().c_str());
     238                LOGERROR("Failed to load skeleton definitions from '%ls'", it->string().c_str());
    239239                continue;
    240240            }
    241241
    public:  
    243243        }
    244244
    245245        if (!loaded)
    246             LOGERROR(L"Failed to load any skeleton definitions");
     246            LOGERROR("Failed to load any skeleton definitions");
    247247
    248248        return loaded;
    249249    }
    public:  
    267267            VfsPaths paths;
    268268            if (vfs::GetPathnames(m_VFS, L"art/skeletons/", L"*.xml", paths) != INFO::OK)
    269269            {
    270                 LOGWARNING(L"Failed to load skeleton definitions");
     270                LOGWARNING("Failed to load skeleton definitions");
    271271                return;
    272272            }
    273273
    public:  
    287287                //  should never happen, unless there really is a problem
    288288                if (m_VFS->GetFileInfo(*it, &fileInfo) != INFO::OK)
    289289                {
    290                     LOGERROR(L"Failed to stat '%ls' for DAE caching", it->string().c_str());
     290                    LOGERROR("Failed to stat '%ls' for DAE caching", it->string().c_str());
    291291                }
    292292                else
    293293                {
    public:  
    298298
    299299            // Check if we were able to load any skeleton files
    300300            if (m_skeletonHashes.empty())
    301                 LOGERROR(L"Failed to stat any skeleton definitions for DAE caching");
     301                LOGERROR("Failed to stat any skeleton definitions for DAE caching");
    302302                // We can continue, something else will break if we try loading a skeletal model
    303303
    304304            m_skeletonHashInvalidated = false;
  • source/graphics/FontManager.cpp

    diff --git a/source/graphics/FontManager.cpp b/source/graphics/FontManager.cpp
    index c7180ce..c88fac2 100644
    a b bool CFontManager::ReadFont(CFont* font, CStrIntern fontName)  
    5959    const VfsPath fntName(fontName.string() + ".fnt");
    6060    if (g_VFS->LoadFile(path / fntName, buf, size) < 0)
    6161    {
    62         LOGERROR(L"Failed to open font file %ls", (path / fntName).string().c_str());
     62        LOGERROR("Failed to open font file %ls", (path / fntName).string().c_str());
    6363        return false;
    6464    }
    6565    std::istringstream FNTStream(std::string((const char*)buf.get(), size));
    bool CFontManager::ReadFont(CFont* font, CStrIntern fontName)  
    6868    FNTStream >> Version;
    6969    if (Version != 101) // Make sure this is from a recent version of the font builder
    7070    {
    71         LOGERROR(L"Font %hs has invalid version", fontName.c_str());
     71        LOGERROR("Font %hs has invalid version", fontName.c_str());
    7272        return 0;
    7373    }
    7474
    bool CFontManager::ReadFont(CFont* font, CStrIntern fontName)  
    102102
    103103        if (Codepoint < 0 || Codepoint > 0xFFFF)
    104104        {
    105             LOGWARNING(L"Font %hs has invalid codepoint 0x%x", fontName.c_str(), Codepoint);
     105            LOGWARNING("Font %hs has invalid codepoint 0x%x", fontName.c_str(), Codepoint);
    106106            continue;
    107107        }
    108108
  • source/graphics/LOSTexture.cpp

    diff --git a/source/graphics/LOSTexture.cpp b/source/graphics/LOSTexture.cpp
    index 2bde7bb..ce6e136 100644
    a b bool CLOSTexture::CreateShader()  
    8282   
    8383    if (!m_ShaderInitialized)
    8484    {
    85         LOGERROR(L"Failed to load SmoothLOS shader, disabling.");
     85        LOGERROR("Failed to load SmoothLOS shader, disabling.");
    8686        g_Renderer.m_Options.m_SmoothLOS = false;
    8787        return false;
    8888    }
    void CLOSTexture::InterpolateLOS()  
    163163    GLenum status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    164164    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    165165    {
    166         LOGWARNING(L"LOS framebuffer object incomplete: 0x%04X", status);
     166        LOGWARNING("LOS framebuffer object incomplete: 0x%04X", status);
    167167    }
    168168
    169169    m_smoothShader->BeginPass();
  • source/graphics/MapGenerator.cpp

    diff --git a/source/graphics/MapGenerator.cpp b/source/graphics/MapGenerator.cpp
    index 780ca79..2e7a14d 100644
    a b bool CMapGeneratorWorker::Run()  
    111111    JS::RootedValue settingsVal(cx);
    112112    if (!m_ScriptInterface->ParseJSON(m_Settings, &settingsVal) && settingsVal.isUndefined())
    113113    {
    114         LOGERROR(L"CMapGeneratorWorker::Run: Failed to parse settings");
     114        LOGERROR("CMapGeneratorWorker::Run: Failed to parse settings");
    115115        return false;
    116116    }
    117117   
    bool CMapGeneratorWorker::Run()  
    119119    u32 seed;
    120120    if (!m_ScriptInterface->GetProperty(settingsVal, "Seed", seed))
    121121    {   // No seed specified
    122         LOGWARNING(L"CMapGeneratorWorker::Run: No seed value specified - using 0");
     122        LOGWARNING("CMapGeneratorWorker::Run: No seed value specified - using 0");
    123123        seed = 0;
    124124    }
    125125
    bool CMapGeneratorWorker::Run()  
    129129    JS::RootedValue global(cx, m_ScriptInterface->GetGlobalObject());
    130130    if (!m_ScriptInterface->SetProperty(global, "g_MapSettings", settingsVal))
    131131    {
    132         LOGERROR(L"CMapGeneratorWorker::Run: Failed to define g_MapSettings");
     132        LOGERROR("CMapGeneratorWorker::Run: Failed to define g_MapSettings");
    133133        return false;
    134134    }
    135135
    136136    // Load RMS
    137     LOGMESSAGE(L"Loading RMS '%ls'", m_ScriptPath.string().c_str());
     137    LOGMESSAGE("Loading RMS '%ls'", m_ScriptPath.string().c_str());
    138138    if (!m_ScriptInterface->LoadGlobalScriptFile(m_ScriptPath))
    139139    {
    140         LOGERROR(L"CMapGeneratorWorker::Run: Failed to load RMS '%ls'", m_ScriptPath.string().c_str());
     140        LOGERROR("CMapGeneratorWorker::Run: Failed to load RMS '%ls'", m_ScriptPath.string().c_str());
    141141        return false;
    142142    }
    143143
    std::vector<std::string> CMapGeneratorWorker::GetCivData(ScriptInterface::CxPriv  
    210210            PSRETURN ret = file.Load(g_VFS, *it);
    211211            if (ret != PSRETURN_OK)
    212212            {
    213                 LOGERROR(L"CMapGeneratorWorker::GetCivData: Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
     213                LOGERROR("CMapGeneratorWorker::GetCivData: Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
    214214            }
    215215            else
    216216            {
    std::vector<std::string> CMapGeneratorWorker::GetCivData(ScriptInterface::CxPriv  
    222222    {
    223223        // Some error reading directory
    224224        wchar_t error[200];
    225         LOGERROR(L"CMapGeneratorWorker::GetCivData: Error reading directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
     225        LOGERROR("CMapGeneratorWorker::GetCivData: Error reading directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
    226226    }
    227227
    228228    return data;
    CParamNode CMapGeneratorWorker::GetTemplate(ScriptInterface::CxPrivate* pCxPriva  
    234234    CMapGeneratorWorker* self = static_cast<CMapGeneratorWorker*>(pCxPrivate->pCBData);
    235235    const CParamNode& templateRoot = self->m_TemplateLoader.GetTemplateFileData(templateName).GetChild("Entity");
    236236    if (!templateRoot.IsOk())
    237         LOGERROR(L"Invalid template found for '%hs'", templateName.c_str());
     237        LOGERROR("Invalid template found for '%hs'", templateName.c_str());
    238238   
    239239    return templateRoot;
    240240}
    bool CMapGeneratorWorker::LoadScripts(const std::wstring& libraryName)  
    271271    {
    272272        for (VfsPaths::iterator it = pathnames.begin(); it != pathnames.end(); ++it)
    273273        {
    274             LOGMESSAGE(L"Loading map generator script '%ls'", it->string().c_str());
     274            LOGMESSAGE("Loading map generator script '%ls'", it->string().c_str());
    275275
    276276            if (!m_ScriptInterface->LoadGlobalScriptFile(*it))
    277277            {
    278                 LOGERROR(L"CMapGeneratorWorker::LoadScripts: Failed to load script '%ls'", it->string().c_str());
     278                LOGERROR("CMapGeneratorWorker::LoadScripts: Failed to load script '%ls'", it->string().c_str());
    279279                return false;
    280280            }
    281281        }
    bool CMapGeneratorWorker::LoadScripts(const std::wstring& libraryName)  
    284284    {
    285285        // Some error reading directory
    286286        wchar_t error[200];
    287         LOGERROR(L"CMapGeneratorWorker::LoadScripts: Error reading scripts in directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
     287        LOGERROR("CMapGeneratorWorker::LoadScripts: Error reading scripts in directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
    288288        return false;
    289289    }
    290290
  • source/graphics/MapReader.cpp

    diff --git a/source/graphics/MapReader.cpp b/source/graphics/MapReader.cpp
    index 090b70e..c6dccd0 100644
    a b int CXMLReader::ReadEntities(XMBElement parent, double end_time)  
    10521052        entity_id_t player = cmpPlayerManager->GetPlayerByID(PlayerID);
    10531053        if (ent == INVALID_ENTITY || player == INVALID_ENTITY)
    10541054        {   // Don't add entities with invalid player IDs
    1055             LOGERROR(L"Failed to load entity template '%ls'", TemplateName.c_str());
     1055            LOGERROR("Failed to load entity template '%ls'", TemplateName.c_str());
    10561056        }
    10571057        else
    10581058        {
    int CMapReader::ParseTerrain()  
    13321332    //  an error here should stop the loading process
    13331333#define GET_TERRAIN_PROPERTY(val, prop, out)\
    13341334    if (!pSimulation2->GetScriptInterface().GetProperty(val, #prop, out))\
    1335         {   LOGERROR(L"CMapReader::ParseTerrain() failed to get '%hs' property", #prop);\
     1335        {   LOGERROR("CMapReader::ParseTerrain() failed to get '%hs' property", #prop);\
    13361336            throw PSERROR_Game_World_MapLoadFailed("Error parsing terrain data.\nCheck application log for details"); }
    13371337
    13381338    JS::RootedValue tmpMapData(cx, m_MapData.get()); // TODO: Check if this temporary root can be removed after SpiderMonkey 31 upgrade
    int CMapReader::ParseEntities()  
    14111411    std::vector<Entity> entities;
    14121412
    14131413    if (!pSimulation2->GetScriptInterface().GetProperty(tmpMapData, "entities", entities))
    1414         LOGWARNING(L"CMapReader::ParseEntities() failed to get 'entities' property");
     1414        LOGWARNING("CMapReader::ParseEntities() failed to get 'entities' property");
    14151415
    14161416    CSimulation2& sim = *pSimulation2;
    14171417    CmpPtr<ICmpPlayerManager> cmpPlayerManager(sim, SYSTEM_ENTITY);
    int CMapReader::ParseEntities()  
    14301430        entity_id_t player = cmpPlayerManager->GetPlayerByID(currEnt.playerID);
    14311431        if (ent == INVALID_ENTITY || player == INVALID_ENTITY)
    14321432        {   // Don't add entities with invalid player IDs
    1433             LOGERROR(L"Failed to load entity template '%ls'", currEnt.templateName.c_str());
     1433            LOGERROR("Failed to load entity template '%ls'", currEnt.templateName.c_str());
    14341434        }
    14351435        else
    14361436        {
    int CMapReader::ParseEnvironment()  
    14761476
    14771477#define GET_ENVIRONMENT_PROPERTY(val, prop, out)\
    14781478    if (!pSimulation2->GetScriptInterface().GetProperty(val, #prop, out))\
    1479         LOGWARNING(L"CMapReader::ParseEnvironment() failed to get '%hs' property", #prop);
     1479        LOGWARNING("CMapReader::ParseEnvironment() failed to get '%hs' property", #prop);
    14801480
    14811481    JS::RootedValue envObj(cx);
    14821482    GET_ENVIRONMENT_PROPERTY(tmpMapData, Environment, &envObj)
    14831483
    14841484    if (envObj.isUndefined())
    14851485    {
    1486         LOGWARNING(L"CMapReader::ParseEnvironment(): Environment settings not found");
     1486        LOGWARNING("CMapReader::ParseEnvironment(): Environment settings not found");
    14871487        return 0;
    14881488    }
    14891489
    int CMapReader::ParseCamera()  
    15811581
    15821582#define GET_CAMERA_PROPERTY(val, prop, out)\
    15831583    if (!pSimulation2->GetScriptInterface().GetProperty(val, #prop, out))\
    1584         LOGWARNING(L"CMapReader::ParseCamera() failed to get '%hs' property", #prop);
     1584        LOGWARNING("CMapReader::ParseCamera() failed to get '%hs' property", #prop);
    15851585
    15861586    JS::RootedValue tmpMapData(cx, m_MapData.get()); // TODO: Check if this temporary root can be removed after SpiderMonkey 31 upgrade
    15871587    JS::RootedValue cameraObj(cx);
  • source/graphics/MapWriter.cpp

    diff --git a/source/graphics/MapWriter.cpp b/source/graphics/MapWriter.cpp
    index 6b00443..be1c778 100644
    a b void CMapWriter::SaveMap(const VfsPath& pathname, CTerrain* pTerrain,  
    7171    }
    7272    catch (PSERROR_File_WriteFailed&)
    7373    {
    74         LOGERROR(L"Failed to write map '%ls'", pathname.string().c_str());
     74        LOGERROR("Failed to write map '%ls'", pathname.string().c_str());
    7575        return;
    7676    }
    7777
    void CMapWriter::WriteXML(const VfsPath& filename,  
    447447        }
    448448    }
    449449    if (!XML_StoreVFS(g_VFS, filename))
    450         LOGERROR(L"Failed to write map '%ls'", filename.string().c_str());
     450        LOGERROR("Failed to write map '%ls'", filename.string().c_str());
    451451}
  • source/graphics/MeshManager.cpp

    diff --git a/source/graphics/MeshManager.cpp b/source/graphics/MeshManager.cpp
    index 0a827d0..3f0fda9 100644
    a b CModelDefPtr CMeshManager::GetMesh(const VfsPath& pathname)  
    5353
    5454    if (pmdFilename.empty())
    5555    {
    56         LOGERROR(L"Could not load mesh '%ls'", pathname.string().c_str());
     56        LOGERROR("Could not load mesh '%ls'", pathname.string().c_str());
    5757        return CModelDefPtr();
    5858    }
    5959
    CModelDefPtr CMeshManager::GetMesh(const VfsPath& pathname)  
    6565    }
    6666    catch (PSERROR_File&)
    6767    {
    68         LOGERROR(L"Could not load mesh '%ls'", pmdFilename.string().c_str());
     68        LOGERROR("Could not load mesh '%ls'", pmdFilename.string().c_str());
    6969        return CModelDefPtr();
    7070    }
    7171}
  • source/graphics/Model.cpp

    diff --git a/source/graphics/Model.cpp b/source/graphics/Model.cpp
    index 127bbd5..c4bb532 100644
    a b bool CModel::SetAnimation(CSkeletonAnim* anim, bool once)  
    473473        if (anim->m_AnimDef && anim->m_AnimDef->GetNumKeys() != m_pModelDef->GetNumBones())
    474474        {
    475475            // mismatch between model's skeleton and animation's skeleton
    476             LOGERROR(L"Mismatch between model's skeleton and animation's skeleton (%lu model bones != %lu animation keys)",
     476            LOGERROR("Mismatch between model's skeleton and animation's skeleton (%lu model bones != %lu animation keys)",
    477477                    (unsigned long)m_pModelDef->GetNumBones(), (unsigned long)anim->m_AnimDef->GetNumKeys());
    478478            return false;
    479479        }
  • source/graphics/ModelAbstract.cpp

    diff --git a/source/graphics/ModelAbstract.cpp b/source/graphics/ModelAbstract.cpp
    index aa56125..769de5d 100644
    a b void CModelAbstract::CalcSelectionBox()  
    5757            {
    5858                // TODO: unimplemented
    5959                m_SelectionBox.SetEmpty();
    60                 LOGWARNING(L"[ModelAbstract] TODO: Cylinder selection boxes are not yet implemented. Use BOX or BOUNDS selection shapes instead.");
     60                LOGWARNING("[ModelAbstract] TODO: Cylinder selection boxes are not yet implemented. Use BOX or BOUNDS selection shapes instead.");
    6161            }
    6262            break;
    6363        default:
    6464            {
    6565                m_SelectionBox.SetEmpty();
    66                 //LOGWARNING(L"[ModelAbstract] Unrecognized selection shape type: %ld", m_CustomSelectionShape->m_Type);
     66                //LOGWARNING("[ModelAbstract] Unrecognized selection shape type: %ld", m_CustomSelectionShape->m_Type);
    6767                debug_warn("[ModelAbstract] Unrecognized selection shape type");
    6868            }
    6969            break;
  • source/graphics/ObjectBase.cpp

    diff --git a/source/graphics/ObjectBase.cpp b/source/graphics/ObjectBase.cpp
    index f55ff9a..2270005 100644
    a b bool CObjectBase::Load(const VfsPath& pathname)  
    9090
    9191    if (root.GetNodeName() != el_actor)
    9292    {
    93         LOGERROR(L"Invalid actor format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
     93        LOGERROR("Invalid actor format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
    9494        return false;
    9595    }
    9696
    bool CObjectBase::Load(const VfsPath& pathname)  
    266266
    267267            if (currentGroup->size() == 0)
    268268            {
    269                 LOGERROR(L"Actor group has zero variants ('%ls')", pathname.string().c_str());
     269                LOGERROR("Actor group has zero variants ('%ls')", pathname.string().c_str());
    270270            }
    271271
    272272            ++currentGroup;
  • source/graphics/ObjectEntry.cpp

    diff --git a/source/graphics/ObjectEntry.cpp b/source/graphics/ObjectEntry.cpp
    index 16b4e48..d9838dc 100644
    a b bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    7373        str << variation.color;
    7474        int r, g, b;
    7575        if (! (str >> r >> g >> b)) // Any trailing data is ignored
    76             LOGERROR(L"Actor '%ls' has invalid RGB colour '%hs'", m_Base->m_ShortName.c_str(), variation.color.c_str());
     76            LOGERROR("Actor '%ls' has invalid RGB colour '%hs'", m_Base->m_ShortName.c_str(), variation.color.c_str());
    7777        else
    7878            m_Color = CColor(r/255.0f, g/255.0f, b/255.0f, 1.0f);
    7979    }
    bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    119119    CModelDefPtr modeldef (objectManager.GetMeshManager().GetMesh(m_ModelName));
    120120    if (!modeldef)
    121121    {
    122         LOGERROR(L"CObjectEntry::BuildVariation(): Model %ls failed to load", m_ModelName.string().c_str());
     122        LOGERROR("CObjectEntry::BuildVariation(): Model %ls failed to load", m_ModelName.string().c_str());
    123123        return false;
    124124    }
    125125
    bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    133133   
    134134    if (m_Samplers.size() == 0)
    135135    {
    136         LOGERROR(L"Actor '%ls' has no textures.", m_Base->m_ShortName.c_str());
     136        LOGERROR("Actor '%ls' has no textures.", m_Base->m_ShortName.c_str());
    137137    }
    138138   
    139139    std::vector<CObjectBase::Samp>::iterator samp;
    bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    190190    {
    191191        // start up idling
    192192        if (!model->SetAnimation(GetRandomAnimation("idle")))
    193             LOGERROR(L"Failed to set idle animation in model \"%ls\"", m_ModelName.string().c_str());
     193            LOGERROR("Failed to set idle animation in model \"%ls\"", m_ModelName.string().c_str());
    194194    }
    195195
    196196    // build props - TODO, RC - need to fix up bounds here
    bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    209209        CObjectEntry* oe = objectManager.FindObjectVariation(prop.m_ModelName.c_str(), selections);
    210210        if (!oe)
    211211        {
    212             LOGERROR(L"Failed to build prop model \"%ls\" on actor \"%ls\"", prop.m_ModelName.c_str(), m_Base->m_ShortName.c_str());
     212            LOGERROR("Failed to build prop model \"%ls\" on actor \"%ls\"", prop.m_ModelName.c_str(), m_Base->m_ShortName.c_str());
    213213            continue;
    214214        }
    215215
    bool CObjectEntry::BuildVariation(const std::vector<std::set<CStr> >& selections  
    240240                propmodel->ToCModel()->SetAnimation(oe->GetRandomAnimation("idle"));
    241241        }
    242242        else
    243             LOGERROR(L"Failed to find matching prop point called \"%hs\" in model \"%ls\" for actor \"%ls\"", ppn.c_str(), m_ModelName.string().c_str(), m_Base->m_ShortName.c_str());
     243            LOGERROR("Failed to find matching prop point called \"%hs\" in model \"%ls\" for actor \"%ls\"", ppn.c_str(), m_ModelName.string().c_str(), m_Base->m_ShortName.c_str());
    244244    }
    245245
    246246    // setup flags
  • source/graphics/ObjectManager.cpp

    diff --git a/source/graphics/ObjectManager.cpp b/source/graphics/ObjectManager.cpp
    index b8bd6b8..8101364 100644
    a b CObjectBase* CObjectManager::FindObjectBase(const CStrW& objectname)  
    9696    else
    9797        delete obj;
    9898
    99     LOGERROR(L"CObjectManager::FindObjectBase(): Cannot find object '%ls'", objectname.c_str());
     99    LOGERROR("CObjectManager::FindObjectBase(): Cannot find object '%ls'", objectname.c_str());
    100100
    101101    return 0;
    102102}
  • source/graphics/ParticleEmitterType.cpp

    diff --git a/source/graphics/ParticleEmitterType.cpp b/source/graphics/ParticleEmitterType.cpp
    index 657feed..7ecd403 100644
    a b int CParticleEmitterType::GetVariableID(const std::string& name)  
    329329    if (name == "color.r")          return VAR_COLOR_R;
    330330    if (name == "color.g")          return VAR_COLOR_G;
    331331    if (name == "color.b")          return VAR_COLOR_B;
    332     LOGWARNING(L"Particle sets unknown variable '%hs'", name.c_str());
     332    LOGWARNING("Particle sets unknown variable '%hs'", name.c_str());
    333333    return -1;
    334334}
    335335
  • source/graphics/ShaderManager.cpp

    diff --git a/source/graphics/ShaderManager.cpp b/source/graphics/ShaderManager.cpp
    index 929123c..dcb3f1c 100644
    a b CShaderManager::CShaderManager()  
    4949        TIMER_ACCRUE(tc_ShaderValidation);
    5050        CVFSFile grammar;
    5151        if (grammar.Load(g_VFS, L"shaders/program.rng") != PSRETURN_OK)
    52             LOGERROR(L"Failed to read grammar shaders/program.rng");
     52            LOGERROR("Failed to read grammar shaders/program.rng");
    5353        else
    5454        {
    5555            if (!m_Validator.LoadGrammar(grammar.GetAsString()))
    56                 LOGERROR(L"Failed to load grammar shaders/program.rng");
     56                LOGERROR("Failed to load grammar shaders/program.rng");
    5757        }
    5858    }
    5959#endif
    CShaderProgramPtr CShaderManager::LoadProgram(const char* name, const CShaderDef  
    7777    CShaderProgramPtr program;
    7878    if (!NewProgram(name, defines, program))
    7979    {
    80         LOGERROR(L"Failed to load shader '%hs'", name);
     80        LOGERROR("Failed to load shader '%hs'", name);
    8181        program = CShaderProgramPtr();
    8282    }
    8383
    CShaderTechniquePtr CShaderManager::LoadEffect(CStrIntern name, const CShaderDef  
    378378    CShaderTechniquePtr tech(new CShaderTechnique());
    379379    if (!NewEffect(name.c_str(), defines, tech))
    380380    {
    381         LOGERROR(L"Failed to load effect '%hs'", name.c_str());
     381        LOGERROR("Failed to load effect '%hs'", name.c_str());
    382382        tech = CShaderTechniquePtr();
    383383    }
    384384
  • source/graphics/ShaderProgram.cpp

    diff --git a/source/graphics/ShaderProgram.cpp b/source/graphics/ShaderProgram.cpp
    index 817ff41..82e7140 100644
    a b public:  
    7171            glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errPos);
    7272            int errLine = std::count(code.begin(), code.begin() + std::min((int)code.length(), errPos + 1), '\n') + 1;
    7373            char* errStr = (char*)glGetString(GL_PROGRAM_ERROR_STRING_ARB);
    74             LOGERROR(L"Failed to compile %hs program '%ls' (line %d):\n%hs", targetName, file.string().c_str(), errLine, errStr);
     74            LOGERROR("Failed to compile %hs program '%ls' (line %d):\n%hs", targetName, file.string().c_str(), errLine, errStr);
    7575            return false;
    7676        }
    7777
    public:  
    310310            pglGetShaderInfoLog(shader, length, NULL, infolog);
    311311
    312312            if (ok)
    313                 LOGMESSAGE(L"Info when compiling shader '%ls':\n%hs", file.string().c_str(), infolog);
     313                LOGMESSAGE("Info when compiling shader '%ls':\n%hs", file.string().c_str(), infolog);
    314314            else
    315                 LOGERROR(L"Failed to compile shader '%ls':\n%hs", file.string().c_str(), infolog);
     315                LOGERROR("Failed to compile shader '%ls':\n%hs", file.string().c_str(), infolog);
    316316
    317317            delete[] infolog;
    318318        }
    public:  
    357357            pglGetProgramInfoLog(m_Program, length, NULL, infolog);
    358358
    359359            if (ok)
    360                 LOGMESSAGE(L"Info when linking program '%ls'+'%ls':\n%hs", m_VertexFile.string().c_str(), m_FragmentFile.string().c_str(), infolog);
     360                LOGMESSAGE("Info when linking program '%ls'+'%ls':\n%hs", m_VertexFile.string().c_str(), m_FragmentFile.string().c_str(), infolog);
    361361            else
    362                 LOGERROR(L"Failed to link program '%ls'+'%ls':\n%hs", m_VertexFile.string().c_str(), m_FragmentFile.string().c_str(), infolog);
     362                LOGERROR("Failed to link program '%ls'+'%ls':\n%hs", m_VertexFile.string().c_str(), m_FragmentFile.string().c_str(), infolog);
    363363           
    364364            delete[] infolog;
    365365        }
    public:  
    561561            else if (id.second == GL_FLOAT_VEC4)
    562562                pglUniform4fARB(id.first, v0, v1, v2, v3);
    563563            else
    564                 LOGERROR(L"CShaderProgramGLSL::Uniform(): Invalid uniform type (expected float, vec2, vec3, vec4)");
     564                LOGERROR("CShaderProgramGLSL::Uniform(): Invalid uniform type (expected float, vec2, vec3, vec4)");
    565565        }
    566566    }
    567567
    public:  
    572572            if (id.second == GL_FLOAT_MAT4)
    573573                pglUniformMatrix4fvARB(id.first, 1, GL_FALSE, &v._11);
    574574            else
    575                 LOGERROR(L"CShaderProgramGLSL::Uniform(): Invalid uniform type (expected mat4)");
     575                LOGERROR("CShaderProgramGLSL::Uniform(): Invalid uniform type (expected mat4)");
    576576        }
    577577    }
    578578
    public:  
    583583            if (id.second == GL_FLOAT_MAT4)
    584584                pglUniformMatrix4fvARB(id.first, count, GL_FALSE, &v->_11);
    585585            else
    586                 LOGERROR(L"CShaderProgramGLSL::Uniform(): Invalid uniform type (expected mat4)");
     586                LOGERROR("CShaderProgramGLSL::Uniform(): Invalid uniform type (expected mat4)");
    587587        }
    588588    }
    589589
    CShaderProgram::CShaderProgram(int streamflags)  
    663663    const std::map<CStrIntern, int>& UNUSED(vertexIndexes), const std::map<CStrIntern, frag_index_pair_t>& UNUSED(fragmentIndexes),
    664664    int UNUSED(streamflags))
    665665{
    666     LOGERROR(L"CShaderProgram::ConstructARB: '%ls'+'%ls': ARB shaders not supported on this device",
     666    LOGERROR("CShaderProgram::ConstructARB: '%ls'+'%ls': ARB shaders not supported on this device",
    667667        vertexFile.string().c_str(), fragmentFile.string().c_str());
    668668    return NULL;
    669669}
  • source/graphics/ShaderProgramFFP.cpp

    diff --git a/source/graphics/ShaderProgramFFP.cpp b/source/graphics/ShaderProgramFFP.cpp
    index a3ec42b..771bdd5 100644
    a b public:  
    11591159    if (id == "model_solid_tex")
    11601160        return new CShaderProgramFFP_ModelSolidTex(defines);
    11611161
    1162     LOGERROR(L"CShaderProgram::ConstructFFP: '%hs': Invalid id", id.c_str());
     1162    LOGERROR("CShaderProgram::ConstructFFP: '%hs': Invalid id", id.c_str());
    11631163    debug_warn(L"CShaderProgram::ConstructFFP: Invalid id");
    11641164    return NULL;
    11651165}
  • source/graphics/SkeletonAnimManager.cpp

    diff --git a/source/graphics/SkeletonAnimManager.cpp b/source/graphics/SkeletonAnimManager.cpp
    index 80bb336..2d99118 100644
    a b CSkeletonAnimDef* CSkeletonAnimManager::GetAnimation(const VfsPath& pathname)  
    6565
    6666    if (psaFilename.empty())
    6767    {
    68         LOGERROR(L"Could not load animation '%ls'", pathname.string().c_str());
     68        LOGERROR("Could not load animation '%ls'", pathname.string().c_str());
    6969        def = NULL;
    7070    }
    7171    else
    CSkeletonAnimDef* CSkeletonAnimManager::GetAnimation(const VfsPath& pathname)  
    7676        }
    7777        catch (PSERROR_File&)
    7878        {
    79             LOGERROR(L"Could not load animation '%ls'", psaFilename.string().c_str());
     79            LOGERROR("Could not load animation '%ls'", psaFilename.string().c_str());
    8080        }
    8181    }
    8282
    8383    if (def)
    84         LOGMESSAGE(L"CSkeletonAnimManager::GetAnimation(%ls): Loaded successfully", pathname.string().c_str());
     84        LOGMESSAGE("CSkeletonAnimManager::GetAnimation(%ls): Loaded successfully", pathname.string().c_str());
    8585    else
    86         LOGERROR(L"CSkeletonAnimManager::GetAnimation(%ls): Failed loading, marked file as bad", pathname.string().c_str());
     86        LOGERROR("CSkeletonAnimManager::GetAnimation(%ls): Failed loading, marked file as bad", pathname.string().c_str());
    8787
    8888    // Add to map
    8989    m_Animations[name] = def; // NULL if failed to load - we won't try loading it again
  • source/graphics/TerrainTextureEntry.cpp

    diff --git a/source/graphics/TerrainTextureEntry.cpp b/source/graphics/TerrainTextureEntry.cpp
    index 7429dce..a15b043 100644
    a b CTerrainTextureEntry::CTerrainTextureEntry(CTerrainPropertiesPtr properties, con  
    4747    CXeromyces XeroFile;
    4848    if (XeroFile.Load(g_VFS, path) != PSRETURN_OK)
    4949    {
    50         LOGERROR(L"Terrain xml not found (%hs)", path.string().c_str());
     50        LOGERROR("Terrain xml not found (%hs)", path.string().c_str());
    5151        return;
    5252    }
    5353
    CTerrainTextureEntry::CTerrainTextureEntry(CTerrainPropertiesPtr properties, con  
    7070
    7171    if (root.GetNodeName() != el_terrain)
    7272    {
    73         LOGERROR(L"Invalid terrain format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
     73        LOGERROR("Invalid terrain format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
    7474        return;
    7575    }
    7676   
  • source/graphics/TerrainTextureManager.cpp

    diff --git a/source/graphics/TerrainTextureManager.cpp b/source/graphics/TerrainTextureManager.cpp
    index 5913c10..7add3d5 100644
    a b CTerrainTextureEntry* CTerrainTextureManager::FindTexture(const CStr& tag_)  
    8989            return m_TextureEntries[i];
    9090    }
    9191
    92     LOGWARNING(L"CTerrainTextureManager: Couldn't find terrain %hs", tag.c_str());
     92    LOGWARNING("CTerrainTextureManager: Couldn't find terrain %hs", tag.c_str());
    9393    return 0;
    9494}
    9595
    void CTerrainTextureManager::LoadTextures(const CTerrainPropertiesPtr& props, co  
    141141
    142142void CTerrainTextureManager::RecurseDirectory(const CTerrainPropertiesPtr& parentProps, const VfsPath& path)
    143143{
    144     //LOGMESSAGE(L"CTextureManager::RecurseDirectory(%ls)", path.string().c_str());
     144    //LOGMESSAGE("CTextureManager::RecurseDirectory(%ls)", path.string().c_str());
    145145
    146146    CTerrainPropertiesPtr props;
    147147
    void CTerrainTextureManager::RecurseDirectory(const CTerrainPropertiesPtr& paren  
    153153    // No terrains.xml, or read failures -> use parent props (i.e.
    154154    if (!props)
    155155    {
    156         LOGMESSAGE(L"CTerrainTextureManager::RecurseDirectory(%ls): no terrains.xml (or errors while loading) - using parent properties", path.string().c_str());
     156        LOGMESSAGE("CTerrainTextureManager::RecurseDirectory(%ls): no terrains.xml (or errors while loading) - using parent properties", path.string().c_str());
    157157        props = parentProps;
    158158    }
    159159
  • source/graphics/TextureConverter.cpp

    diff --git a/source/graphics/TextureConverter.cpp b/source/graphics/TextureConverter.cpp
    index aadca03..a855587 100644
    a b CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    120120
    121121    if (root.GetNodeName() != el_textures)
    122122    {
    123         LOGERROR(L"Invalid texture settings file \"%ls\" (unrecognised root element)", path.string().c_str());
     123        LOGERROR("Invalid texture settings file \"%ls\" (unrecognised root element)", path.string().c_str());
    124124        return NULL;
    125125    }
    126126
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    152152                    else if (v == "alpha")
    153153                        p.settings.format = FMT_ALPHA;
    154154                    else
    155                         LOGERROR(L"Invalid attribute value <file format='%hs'>", v.c_str());
     155                        LOGERROR("Invalid attribute value <file format='%hs'>", v.c_str());
    156156                }
    157157                else if (attr.Name == at_mipmap)
    158158                {
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    162162                    else if (v == "false")
    163163                        p.settings.mipmap = MIP_FALSE;
    164164                    else
    165                         LOGERROR(L"Invalid attribute value <file mipmap='%hs'>", v.c_str());
     165                        LOGERROR("Invalid attribute value <file mipmap='%hs'>", v.c_str());
    166166                }
    167167                else if (attr.Name == at_normal)
    168168                {
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    172172                    else if (v == "false")
    173173                        p.settings.normal = NORMAL_FALSE;
    174174                    else
    175                         LOGERROR(L"Invalid attribute value <file normal='%hs'>", v.c_str());
     175                        LOGERROR("Invalid attribute value <file normal='%hs'>", v.c_str());
    176176                }
    177177                else if (attr.Name == at_alpha)
    178178                {
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    184184                    else if (v == "transparency")
    185185                        p.settings.alpha = ALPHA_TRANSPARENCY;
    186186                    else
    187                         LOGERROR(L"Invalid attribute value <file alpha='%hs'>", v.c_str());
     187                        LOGERROR("Invalid attribute value <file alpha='%hs'>", v.c_str());
    188188                }
    189189                else if (attr.Name == at_filter)
    190190                {
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    196196                    else if (v == "kaiser")
    197197                        p.settings.filter = FILTER_KAISER;
    198198                    else
    199                         LOGERROR(L"Invalid attribute value <file filter='%hs'>", v.c_str());
     199                        LOGERROR("Invalid attribute value <file filter='%hs'>", v.c_str());
    200200                }
    201201                else if (attr.Name == at_kaiserwidth)
    202202                {
    CTextureConverter::SettingsFile* CTextureConverter::LoadSettings(const VfsPath&  
    212212                }
    213213                else
    214214                {
    215                     LOGERROR(L"Invalid attribute name <file %hs='...'>", XeroFile.GetAttributeString(attr.Name).c_str());
     215                    LOGERROR("Invalid attribute name <file %hs='...'>", XeroFile.GetAttributeString(attr.Name).c_str());
    216216                }
    217217            }
    218218
    bool CTextureConverter::ConvertTexture(const CTexturePtr& texture, const VfsPath  
    326326    size_t fileSize;
    327327    if (m_VFS->LoadFile(src, file, fileSize) < 0)
    328328    {
    329         LOGERROR(L"Failed to load texture \"%ls\"", src.string().c_str());
     329        LOGERROR("Failed to load texture \"%ls\"", src.string().c_str());
    330330        return false;
    331331    }
    332332
    333333    Tex tex;
    334334    if (tex.decode(file, fileSize) < 0)
    335335    {
    336         LOGERROR(L"Failed to decode texture \"%ls\"", src.string().c_str());
     336        LOGERROR("Failed to decode texture \"%ls\"", src.string().c_str());
    337337        return false;
    338338    }
    339339
    bool CTextureConverter::ConvertTexture(const CTexturePtr& texture, const VfsPath  
    345345        // Convert to uncompressed 8-bit with no mipmaps
    346346        if (tex.transform_to((tex.m_Flags | TEX_GREY) & ~(TEX_DXT | TEX_MIPMAPS | TEX_ALPHA)) < 0)
    347347        {
    348             LOGERROR(L"Failed to transform texture \"%ls\"", src.string().c_str());
     348            LOGERROR("Failed to transform texture \"%ls\"", src.string().c_str());
    349349            return false;
    350350        }
    351351    }
    bool CTextureConverter::ConvertTexture(const CTexturePtr& texture, const VfsPath  
    356356        // (plain_transform doesn't know how to construct the alpha channel)
    357357        if (tex.m_Flags & TEX_GREY)
    358358        {
    359             LOGERROR(L"Failed to convert grayscale texture \"%ls\" - only RGB textures are currently supported", src.string().c_str());
     359            LOGERROR("Failed to convert grayscale texture \"%ls\" - only RGB textures are currently supported", src.string().c_str());
    360360            return false;
    361361        }
    362362
    363363        // Convert to uncompressed BGRA with no mipmaps
    364364        if (tex.transform_to((tex.m_Flags | TEX_BGR | TEX_ALPHA) & ~(TEX_DXT | TEX_MIPMAPS)) < 0)
    365365        {
    366             LOGERROR(L"Failed to transform texture \"%ls\"", src.string().c_str());
     366            LOGERROR("Failed to transform texture \"%ls\"", src.string().c_str());
    367367            return false;
    368368        }
    369369    }
    bool CTextureConverter::ConvertTexture(const CTexturePtr& texture, const VfsPath  
    482482    return true;
    483483
    484484#else
    485     LOGERROR(L"Failed to convert texture \"%ls\" (NVTT not available)", src.string().c_str());
     485    LOGERROR("Failed to convert texture \"%ls\" (NVTT not available)", src.string().c_str());
    486486    return false;
    487487#endif
    488488}
  • source/graphics/TextureManager.cpp

    diff --git a/source/graphics/TextureManager.cpp b/source/graphics/TextureManager.cpp
    index bfccc8b..33eff64 100644
    a b public:  
    178178        Handle h = ogl_tex_load(m_VFS, path, RES_UNIQUE);
    179179        if (h <= 0)
    180180        {
    181             LOGERROR(L"Texture failed to load; \"%ls\"", texture->m_Properties.m_Path.string().c_str());
     181            LOGERROR("Texture failed to load; \"%ls\"", texture->m_Properties.m_Path.string().c_str());
    182182
    183183            // Replace with error texture to make it obvious
    184184            texture->SetHandle(m_ErrorHandle);
    public:  
    218218        // Upload to GL
    219219        if (!m_DisableGL && ogl_tex_upload(h, texture->m_Properties.m_Format) < 0)
    220220        {
    221             LOGERROR(L"Texture failed to upload: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
     221            LOGERROR("Texture failed to upload: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
    222222
    223223            ogl_tex_free(h);
    224224
    public:  
    277277
    278278            // No source file or archive cache was found, so we can't load the
    279279            // real texture at all - return the error texture instead
    280             LOGERROR(L"CCacheLoader failed to find archived or source file for: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
     280            LOGERROR("CCacheLoader failed to find archived or source file for: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
    281281            texture->SetHandle(m_ErrorHandle);
    282282            return true;
    283283        }
    public:  
    299299        PrepareCacheKey(texture, hash, version);
    300300        VfsPath looseCachePath = m_CacheLoader.LooseCachePath(sourcePath, hash, version);
    301301
    302 //      LOGWARNING(L"Converting texture \"%ls\"", srcPath.c_str());
     302//      LOGWARNING("Converting texture \"%ls\"", srcPath.c_str());
    303303
    304304        CTextureConverter::Settings settings = GetConverterSettings(texture);
    305305
    public:  
    345345                }
    346346                else
    347347                {
    348                     LOGERROR(L"Texture failed to convert: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
     348                    LOGERROR("Texture failed to convert: \"%ls\"", texture->m_Properties.m_Path.string().c_str());
    349349                    texture->SetHandle(m_ErrorHandle);
    350350                }
    351351                texture->m_State = CTexture::LOADED;
  • source/graphics/scripting/JSInterface_GameView.cpp

    diff --git a/source/graphics/scripting/JSInterface_GameView.cpp b/source/graphics/scripting/JSInterface_GameView.cpp
    index b5c0b13..22e1c7f 100644
    a b bool JSI_GameView::Get##NAME##Enabled(ScriptInterface::CxPrivate* UNUSED(pCxPriv  
    2828{ \
    2929    if (!g_Game || !g_Game->GetView()) \
    3030    { \
    31         LOGERROR(L"Trying to get a setting from GameView when it's not initialized!"); \
     31        LOGERROR("Trying to get a setting from GameView when it's not initialized!"); \
    3232        return false; \
    3333    } \
    3434    return g_Game->GetView()->Get##NAME##Enabled(); \
    void JSI_GameView::Set##NAME##Enabled(ScriptInterface::CxPrivate* UNUSED(pCxPriv  
    3838{ \
    3939    if (!g_Game || !g_Game->GetView()) \
    4040    { \
    41         LOGERROR(L"Trying to set a setting of GameView when it's not initialized!"); \
     41        LOGERROR("Trying to set a setting of GameView when it's not initialized!"); \
    4242        return; \
    4343    } \
    4444    g_Game->GetView()->Set##NAME##Enabled(Enabled); \
  • source/gui/CGUI.cpp

    diff --git a/source/gui/CGUI.cpp b/source/gui/CGUI.cpp
    index 51e33f8..e32395b 100644
    a b void CGUI::Draw()  
    380380    }
    381381    catch (PSERROR_GUI& e)
    382382    {
    383         LOGERROR(L"GUI draw error: %hs", e.what());
     383        LOGERROR("GUI draw error: %hs", e.what());
    384384    }
    385385}
    386386
    void CGUI::LoadXmlFile(const VfsPath& Filename, boost::unordered_set<VfsPath>& P  
    969969    }
    970970    catch (PSERROR_GUI& e)
    971971    {
    972         LOGERROR(L"Errors loading GUI file %ls (%u)", Filename.string().c_str(), e.getCode());
     972        LOGERROR("Errors loading GUI file %ls (%u)", Filename.string().c_str(), e.getCode());
    973973        return;
    974974    }
    975975}
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    10911091    if (!object)
    10921092    {
    10931093        // Report error that object was unsuccessfully loaded
    1094         LOGERROR(L"GUI: Unrecognized object type \"%hs\"", type.c_str());
     1094        LOGERROR("GUI: Unrecognized object type \"%hs\"", type.c_str());
    10951095        return;
    10961096    }
    10971097
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    11331133    {
    11341134        // additional check
    11351135        if (m_Styles.count(argStyle) == 0)
    1136             LOGERROR(L"GUI: Trying to use style '%hs' that doesn't exist.", argStyle.c_str());
     1136            LOGERROR("GUI: Trying to use style '%hs' that doesn't exist.", argStyle.c_str());
    11371137        else
    11381138            object->LoadStyle(*this, argStyle);
    11391139    }
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    11851185        // Try setting the value
    11861186        if (object->SetSetting(pFile->GetAttributeString(attr.Name), attr.Value.FromUTF8(), true) != PSRETURN_OK)
    11871187        {
    1188             LOGERROR(L"GUI: (object: %hs) Can't set \"%hs\" to \"%ls\"", object->GetPresentableName().c_str(), pFile->GetAttributeString(attr.Name).c_str(), attr.Value.FromUTF8().c_str());
     1188            LOGERROR("GUI: (object: %hs) Can't set \"%hs\" to \"%ls\"", object->GetPresentableName().c_str(), pFile->GetAttributeString(attr.Name).c_str(), attr.Value.FromUTF8().c_str());
    11891189
    11901190            // This is not a fatal error
    11911191        }
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    12481248                CVFSFile scriptfile;
    12491249                if (scriptfile.Load(g_VFS, filename) != PSRETURN_OK)
    12501250                {
    1251                     LOGERROR(L"Error opening GUI script action file '%ls'", filename.c_str());
     1251                    LOGERROR("Error opening GUI script action file '%ls'", filename.c_str());
    12521252                    throw PSERROR_GUI_JSOpenFailed();
    12531253                }
    12541254
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    12931293            CStr attributeName(child.GetAttributes().GetNamedItem(attr_id)); // Read the attribute name.
    12941294            if (attributeName.empty())
    12951295            {
    1296                 LOGERROR(L"GUI: ‘translatableAttribute’ XML element with empty ‘id’ XML attribute found. (object: %hs)", object->GetPresentableName().c_str());
     1296                LOGERROR("GUI: ‘translatableAttribute’ XML element with empty ‘id’ XML attribute found. (object: %hs)", object->GetPresentableName().c_str());
    12971297                continue;
    12981298            }
    12991299
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    13201320            CStr attributeName(child.GetAttributes().GetNamedItem(attr_id)); // Read the attribute name.
    13211321            if (attributeName.empty())
    13221322            {
    1323                 LOGERROR(L"GUI: ‘attribute’ XML element with empty ‘id’ XML attribute found. (object: %hs)", object->GetPresentableName().c_str());
     1323                LOGERROR("GUI: ‘attribute’ XML element with empty ‘id’ XML attribute found. (object: %hs)", object->GetPresentableName().c_str());
    13241324                continue;
    13251325            }
    13261326
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    13481348            if (!filename.empty())
    13491349            {
    13501350                if (!directory.empty())
    1351                     LOGWARNING(L"GUI: Include element found with file name (%ls) and directory name (%ls). Only the file will be processed.", filename.c_str(), directory.c_str());
     1351                    LOGWARNING("GUI: Include element found with file name (%ls) and directory name (%ls). Only the file will be processed.", filename.c_str(), directory.c_str());
    13521352
    13531353                Paths.insert(filename);
    13541354
    13551355                CXeromyces XeroIncluded;
    13561356                if (XeroIncluded.Load(g_VFS, filename) != PSRETURN_OK)
    13571357                {
    1358                     LOGERROR(L"GUI: Error reading included XML: '%ls'", filename.c_str());
     1358                    LOGERROR("GUI: Error reading included XML: '%ls'", filename.c_str());
    13591359                    continue;
    13601360                }
    13611361
    13621362                XMBElement node = XeroIncluded.GetRoot();
    13631363                if (node.GetNodeName() != XeroIncluded.GetElementID("object"))
    13641364                {
    1365                     LOGERROR(L"GUI: Error reading included XML: '%ls', root element must have be of type 'object'.", filename.c_str());
     1365                    LOGERROR("GUI: Error reading included XML: '%ls', root element must have be of type 'object'.", filename.c_str());
    13661366                    continue;
    13671367                }
    13681368                Xeromyces_ReadObject(node, &XeroIncluded, object, NameSubst, Paths, nesting_depth+1);
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    13791379                    CXeromyces XeroIncluded;
    13801380                    if (XeroIncluded.Load(g_VFS, *it) != PSRETURN_OK)
    13811381                    {
    1382                         LOGERROR(L"GUI: Error reading included XML: '%ls'", (*it).string().c_str());
     1382                        LOGERROR("GUI: Error reading included XML: '%ls'", (*it).string().c_str());
    13831383                        continue;
    13841384                    }
    13851385
    13861386                    XMBElement node = XeroIncluded.GetRoot();
    13871387                    if (node.GetNodeName() != XeroIncluded.GetElementID("object"))
    13881388                    {
    1389                         LOGERROR(L"GUI: Error reading included XML: '%ls', root element must have be of type 'object'.", (*it).string().c_str());
     1389                        LOGERROR("GUI: Error reading included XML: '%ls', root element must have be of type 'object'.", (*it).string().c_str());
    13901390                        continue;
    13911391                    }
    13921392                    Xeromyces_ReadObject(node, &XeroIncluded, object, NameSubst, Paths, nesting_depth+1);
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    13941394
    13951395            }
    13961396            else
    1397                 LOGERROR(L"GUI: 'include' XML element must have valid 'file' or 'directory' attribute found. (object %hs)", object->GetPresentableName().c_str());
     1397                LOGERROR("GUI: 'include' XML element must have valid 'file' or 'directory' attribute found. (object %hs)", object->GetPresentableName().c_str());
    13981398        }
    13991399        else
    14001400        {
    14011401            // Try making the object read the tag.
    14021402            if (!object->HandleAdditionalChildren(child, pFile))
    14031403            {
    1404                 LOGERROR(L"GUI: (object: %hs) Reading unknown children for its type", object->GetPresentableName().c_str());
     1404                LOGERROR("GUI: (object: %hs) Reading unknown children for its type", object->GetPresentableName().c_str());
    14051405            }
    14061406        }
    14071407    }
    void CGUI::Xeromyces_ReadObject(XMBElement Element, CXeromyces* pFile, IGUIObjec  
    14421442    }
    14431443    catch (PSERROR_GUI& e)
    14441444    {
    1445         LOGERROR(L"GUI error: %hs", e.what());
     1445        LOGERROR("GUI error: %hs", e.what());
    14461446    }
    14471447}
    14481448
    void CGUI::Xeromyces_ReadScript(XMBElement Element, CXeromyces* pFile, boost::un  
    14911491        }
    14921492        catch (PSERROR_Scripting& e)
    14931493        {
    1494             LOGERROR(L"GUI: Error executing script %ls: %hs", file.c_str(), e.what());
     1494            LOGERROR("GUI: Error executing script %ls: %hs", file.c_str(), e.what());
    14951495        }
    14961496    }
    14971497
    void CGUI::Xeromyces_ReadScript(XMBElement Element, CXeromyces* pFile, boost::un  
    15121512                }
    15131513                catch (PSERROR_Scripting& e)
    15141514                {
    1515                     LOGERROR(L"GUI: Error executing script %ls: %hs", (*it).string().c_str(), e.what());
     1515                    LOGERROR("GUI: Error executing script %ls: %hs", (*it).string().c_str(), e.what());
    15161516                }
    15171517            }
    15181518        }
    void CGUI::Xeromyces_ReadScript(XMBElement Element, CXeromyces* pFile, boost::un  
    15271527    }
    15281528    catch (PSERROR_Scripting& e)
    15291529    {
    1530         LOGERROR(L"GUI: Error executing inline script: %hs", e.what());
     1530        LOGERROR("GUI: Error executing inline script: %hs", e.what());
    15311531    }
    15321532}
    15331533
    void CGUI::Xeromyces_ReadSprite(XMBElement Element, CXeromyces* pFile)  
    15471547    name = Element.GetAttributes().GetNamedItem( pFile->GetAttributeID("name") );
    15481548
    15491549    if (m_Sprites.find(name) != m_Sprites.end())
    1550         LOGWARNING(L"GUI sprite name '%hs' used more than once; first definition will be discarded", name.c_str());
     1550        LOGWARNING("GUI sprite name '%hs' used more than once; first definition will be discarded", name.c_str());
    15511551
    15521552    //
    15531553    //  Read Children (the images)
    void CGUI::Xeromyces_ReadSprite(XMBElement Element, CXeromyces* pFile)  
    15731573        {
    15741574            if (effects)
    15751575            {
    1576                 LOGERROR(L"GUI <sprite> must not have more than one <effect>");
     1576                LOGERROR("GUI <sprite> must not have more than one <effect>");
    15771577            }
    15781578            else
    15791579            {
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16361636        {
    16371637            CClientArea ca;
    16381638            if (!GUI<CClientArea>::ParseString(attr_value, ca))
    1639                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1639                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16401640            else Image->m_Size = ca;
    16411641        }
    16421642        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16441644        {
    16451645            CClientArea ca;
    16461646            if (!GUI<CClientArea>::ParseString(attr_value, ca))
    1647                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1647                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16481648            else Image->m_TextureSize = ca;
    16491649        }
    16501650        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16521652        {
    16531653            CRect rect;
    16541654            if (!GUI<CRect>::ParseString(attr_value, rect))
    1655                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1655                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16561656            else Image->m_TexturePlacementInFile = rect;
    16571657        }
    16581658        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16601660        {
    16611661            CSize size;
    16621662            if (!GUI<CSize>::ParseString(attr_value, size))
    1663                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1663                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16641664            else Image->m_CellSize = size;
    16651665        }
    16661666        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16681668        {
    16691669            float val;
    16701670            if (!GUI<float>::ParseString(attr_value, val))
    1671                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1671                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16721672            else Image->m_FixedHAspectRatio = val;
    16731673        }
    16741674        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16761676        {
    16771677            bool b;
    16781678            if (!GUI<bool>::ParseString(attr_value, b))
    1679                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1679                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16801680            else Image->m_RoundCoordinates = b;
    16811681        }
    16821682        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    16891689            else if (attr_value == L"clamp_to_edge")
    16901690                Image->m_WrapMode = GL_CLAMP_TO_EDGE;
    16911691            else
    1692                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1692                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    16931693        }
    16941694        else
    16951695        if (attr_name == "z_level")
    16961696        {
    16971697            float z_level;
    16981698            if (!GUI<float>::ParseString(attr_value, z_level))
    1699                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1699                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    17001700            else Image->m_DeltaZ = z_level/100.f;
    17011701        }
    17021702        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    17041704        {
    17051705            CColor color;
    17061706            if (!GUI<CColor>::ParseString(attr_value, color))
    1707                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1707                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    17081708            else Image->m_BackColor = color;
    17091709        }
    17101710        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    17121712        {
    17131713            CColor color;
    17141714            if (!GUI<CColor>::ParseString(attr_value, color))
    1715                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1715                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    17161716            else Image->m_BorderColor = color;
    17171717        }
    17181718        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    17201720        {
    17211721            bool b;
    17221722            if (!GUI<bool>::ParseString(attr_value, b))
    1723                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1723                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    17241724            else Image->m_Border = b;
    17251725        }
    17261726        else
    void CGUI::Xeromyces_ReadImage(XMBElement Element, CXeromyces* pFile, CGUISprite  
    17391739        {
    17401740            if (Image->m_Effects)
    17411741            {
    1742                 LOGERROR(L"GUI <image> must not have more than one <effect>");
     1742                LOGERROR("GUI <image> must not have more than one <effect>");
    17431743            }
    17441744            else
    17451745            {
    void CGUI::Xeromyces_ReadEffects(XMBElement Element, CXeromyces* pFile, SGUIImag  
    17731773        {
    17741774            CColor color;
    17751775            if (!GUI<int>::ParseColor(attr_value, color, 0))
    1776                 LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     1776                LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    17771777            else effects.m_AddColor = color;
    17781778        }
    17791779        else if (attr_name == "grayscale")
    void CGUI::Xeromyces_ReadScrollBarStyle(XMBElement Element, CXeromyces* pFile)  
    18531853        {
    18541854            bool b;
    18551855            if (!GUI<bool>::ParseString(attr_value.FromUTF8(), b))
    1856                 LOGERROR(L"GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
     1856                LOGERROR("GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
    18571857            else
    18581858                scrollbar.m_UseEdgeButtons = b;
    18591859        }
    void CGUI::Xeromyces_ReadScrollBarStyle(XMBElement Element, CXeromyces* pFile)  
    18611861        {
    18621862            float f;
    18631863            if (!GUI<float>::ParseString(attr_value.FromUTF8(), f))
    1864                 LOGERROR(L"GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
     1864                LOGERROR("GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
    18651865            else
    18661866                scrollbar.m_Width = f;
    18671867        }
    void CGUI::Xeromyces_ReadScrollBarStyle(XMBElement Element, CXeromyces* pFile)  
    18701870        {
    18711871            float f;
    18721872            if (!GUI<float>::ParseString(attr_value.FromUTF8(), f))
    1873                 LOGERROR(L"GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
     1873                LOGERROR("GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
    18741874            else
    18751875                scrollbar.m_MinimumBarSize = f;
    18761876        }
    void CGUI::Xeromyces_ReadScrollBarStyle(XMBElement Element, CXeromyces* pFile)  
    18791879        {
    18801880            float f;
    18811881            if (!GUI<float>::ParseString(attr_value.FromUTF8(), f))
    1882                 LOGERROR(L"GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
     1882                LOGERROR("GUI: Error parsing '%hs' (\"%hs\")", attr_name.c_str(), attr_value.c_str());
    18831883            else
    18841884                scrollbar.m_MaximumBarSize = f;
    18851885        }
    void CGUI::Xeromyces_ReadIcon(XMBElement Element, CXeromyces* pFile)  
    19521952        {
    19531953            CSize size;
    19541954            if (!GUI<CSize>::ParseString(attr_value.FromUTF8(), size))
    1955                 LOGERROR(L"Error parsing '%hs' (\"%hs\") inside <icon>.", attr_name.c_str(), attr_value.c_str());
     1955                LOGERROR("Error parsing '%hs' (\"%hs\") inside <icon>.", attr_name.c_str(), attr_value.c_str());
    19561956            else
    19571957                icon.m_Size = size;
    19581958        }
    void CGUI::Xeromyces_ReadIcon(XMBElement Element, CXeromyces* pFile)  
    19601960        {
    19611961            int cell_id;
    19621962            if (!GUI<int>::ParseString(attr_value.FromUTF8(), cell_id))
    1963                 LOGERROR(L"GUI: Error parsing '%hs' (\"%hs\") inside <icon>.", attr_name.c_str(), attr_value.c_str());
     1963                LOGERROR("GUI: Error parsing '%hs' (\"%hs\") inside <icon>.", attr_name.c_str(), attr_value.c_str());
    19641964            else
    19651965                icon.m_CellID = cell_id;
    19661966        }
    void CGUI::Xeromyces_ReadColor(XMBElement Element, CXeromyces* pFile)  
    20132013        // Try setting color to value
    20142014        if (!color.ParseString(value))
    20152015        {
    2016             LOGERROR(L"GUI: Unable to create custom color '%hs'. Invalid color syntax.", name.c_str());
     2016            LOGERROR("GUI: Unable to create custom color '%hs'. Invalid color syntax.", name.c_str());
    20172017        }
    20182018        else
    20192019        {
  • source/gui/CGUIScrollBarVertical.cpp

    diff --git a/source/gui/CGUIScrollBarVertical.cpp b/source/gui/CGUIScrollBarVertical.cpp
    index 4e0efe6..4c5c6eb 100644
    a b void CGUIScrollBarVertical::Draw()  
    5151{
    5252    if (!GetStyle())
    5353    {
    54         LOGWARNING(L"Attempt to draw scrollbar without a style.");
     54        LOGWARNING("Attempt to draw scrollbar without a style.");
    5555        return;
    5656    }
    5757
  • source/gui/COList.cpp

    diff --git a/source/gui/COList.cpp b/source/gui/COList.cpp
    index 09ff828..633ca91 100644
    a b bool COList::HandleAdditionalChildren(const XMBElement& child, CXeromyces* pFile  
    158158            {
    159159                CColor color;
    160160                if (!GUI<CColor>::ParseString(attr_value.FromUTF8(), color))
    161                     LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     161                    LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    162162                else oDef.m_TextColor = color;
    163163            }
    164164            else if (attr_name == "id")
    bool COList::HandleAdditionalChildren(const XMBElement& child, CXeromyces* pFile  
    169169            {
    170170                float width;
    171171                if (!GUI<float>::ParseString(attr_value.FromUTF8(), width))
    172                     LOGERROR(L"GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
     172                    LOGERROR("GUI: Error parsing '%hs' (\"%ls\")", attr_name.c_str(), attr_value.c_str());
    173173                else
    174174                {
    175175                    // Check if it's a relative value, and save as decimal if so.
    bool COList::HandleAdditionalChildren(const XMBElement& child, CXeromyces* pFile  
    215215                }
    216216                else // Ignore.
    217217                {
    218                     LOGERROR(L"GUI: translatable attribute in olist def that isn't a heading. (object: %hs)", this->GetPresentableName().c_str());
     218                    LOGERROR("GUI: translatable attribute in olist def that isn't a heading. (object: %hs)", this->GetPresentableName().c_str());
    219219                }
    220220            }
    221221        }
  • source/gui/GUIManager.cpp

    diff --git a/source/gui/GUIManager.cpp b/source/gui/GUIManager.cpp
    index d0999c7..992088d 100644
    a b void CGUIManager::PopPageCB(shared_ptr<ScriptInterface::StructuredClone> args)  
    117117        scriptInterface->ReadStructuredClone(initDataClone, &initDataVal);
    118118    else
    119119    {
    120         LOGERROR(L"Called PopPageCB when initData (which should contain the callback function name) isn't set!");
     120        LOGERROR("Called PopPageCB when initData (which should contain the callback function name) isn't set!");
    121121        return;
    122122    }
    123123   
    124124    if (!scriptInterface->HasProperty(initDataVal, "callback"))
    125125    {
    126         LOGERROR(L"Called PopPageCB when the callback function name isn't set!");
     126        LOGERROR("Called PopPageCB when the callback function name isn't set!");
    127127        return;
    128128    }
    129129   
    130130    std::string callback;
    131131    if (!scriptInterface->GetProperty(initDataVal, "callback", callback))
    132132    {
    133         LOGERROR(L"Failed to get the callback property as a string from initData in PopPageCB!");
     133        LOGERROR("Failed to get the callback property as a string from initData in PopPageCB!");
    134134        return;
    135135    }
    136136   
    137137    JS::RootedValue global(cx, scriptInterface->GetGlobalObject());
    138138    if (!scriptInterface->HasProperty(global, callback.c_str()))
    139139    {
    140         LOGERROR(L"The specified callback function %hs does not exist in the page %ls", callback.c_str(), m_PageStack.back().name.c_str());
     140        LOGERROR("The specified callback function %hs does not exist in the page %ls", callback.c_str(), m_PageStack.back().name.c_str());
    141141        return;
    142142    }
    143143
    void CGUIManager::PopPageCB(shared_ptr<ScriptInterface::StructuredClone> args)  
    146146        scriptInterface->ReadStructuredClone(args, &argVal);
    147147    if (!scriptInterface->CallFunctionVoid(global, callback.c_str(), argVal))
    148148    {
    149         LOGERROR(L"Failed to call the callback function %hs in the page %ls", callback.c_str(), m_PageStack.back().name.c_str());
     149        LOGERROR("Failed to call the callback function %hs in the page %ls", callback.c_str(), m_PageStack.back().name.c_str());
    150150        return;
    151151    }
    152152}
    void CGUIManager::LoadPage(SGUIPage& page)  
    204204
    205205    if (root.GetNodeName() != elmt_page)
    206206    {
    207         LOGERROR(L"GUI page '%ls' must have root element <page>", page.name.c_str());
     207        LOGERROR("GUI page '%ls' must have root element <page>", page.name.c_str());
    208208        return;
    209209    }
    210210
    void CGUIManager::LoadPage(SGUIPage& page)  
    212212    {
    213213        if (node.GetNodeName() != elmt_include)
    214214        {
    215             LOGERROR(L"GUI page '%ls' must only have <include> elements inside <page>", page.name.c_str());
     215            LOGERROR("GUI page '%ls' must only have <include> elements inside <page>", page.name.c_str());
    216216            continue;
    217217        }
    218218
    void CGUIManager::LoadPage(SGUIPage& page)  
    252252            hotloadDataVal)
    253253        )
    254254    {
    255         LOGERROR(L"GUI page '%ls': Failed to call init() function", page.name.c_str());
     255        LOGERROR("GUI page '%ls': Failed to call init() function", page.name.c_str());
    256256    }
    257257
    258258    m_CurrentGUI = oldGUI;
    Status CGUIManager::ReloadChangedFile(const VfsPath& path)  
    264264    {
    265265        if (it->inputs.count(path))
    266266        {
    267             LOGMESSAGE(L"GUI file '%ls' changed - reloading page '%ls'", path.string().c_str(), it->name.c_str());
     267            LOGMESSAGE("GUI file '%ls' changed - reloading page '%ls'", path.string().c_str(), it->name.c_str());
    268268            LoadPage(*it);
    269269            // TODO: this can crash if LoadPage runs an init script which modifies the page stack and breaks our iterators
    270270        }
    const CParamNode& CGUIManager::GetTemplate(const std::string& templateName)  
    407407{
    408408    const CParamNode& templateRoot = m_TemplateLoader.GetTemplateFileData(templateName).GetChild("Entity");
    409409    if (!templateRoot.IsOk())
    410         LOGERROR(L"Invalid template found for '%hs'", templateName.c_str());
     410        LOGERROR("Invalid template found for '%hs'", templateName.c_str());
    411411
    412412    return templateRoot;
    413413}
  • source/gui/GUIRenderer.cpp

    diff --git a/source/gui/GUIRenderer.cpp b/source/gui/GUIRenderer.cpp
    index 75b133a..ebeed7f 100644
    a b void GUIRenderer::UpdateDrawCallCache(DrawCalls &Calls, const CStr& SpriteName,  
    144144            // Check colour is valid
    145145            if (!GUI<CColor>::ParseString(value, color))
    146146            {
    147                 LOGERROR(L"GUI: Error parsing sprite 'colour' (\"%ls\")", value.c_str());
     147                LOGERROR("GUI: Error parsing sprite 'colour' (\"%ls\")", value.c_str());
    148148                return;
    149149            }
    150150
    void GUIRenderer::UpdateDrawCallCache(DrawCalls &Calls, const CStr& SpriteName,  
    167167        else
    168168        {
    169169            // Otherwise, just complain and give up:
    170             LOGERROR(L"Trying to use a sprite that doesn't exist (\"%hs\").", SpriteName.c_str());
     170            LOGERROR("Trying to use a sprite that doesn't exist (\"%hs\").", SpriteName.c_str());
    171171            return;
    172172        }
    173173    }
  • source/gui/GUITooltip.cpp

    diff --git a/source/gui/GUITooltip.cpp b/source/gui/GUITooltip.cpp
    index c560885..c18f59a 100644
    a b void GUITooltip::ShowTooltip(IGUIObject* obj, CPos pos, const CStr& style, CGUI*  
    149149    IGUIObject* tooltipobj = gui->FindObjectByName("__tooltip_"+style);
    150150    if (! tooltipobj)
    151151    {
    152         LOGERROR(L"Cannot find tooltip named '%hs'", style.c_str());
     152        LOGERROR("Cannot find tooltip named '%hs'", style.c_str());
    153153        return;
    154154    }
    155155
    void GUITooltip::ShowTooltip(IGUIObject* obj, CPos pos, const CStr& style, CGUI*  
    162162        usedobj = gui->FindObjectByName(usedObjectName);
    163163        if (! usedobj)
    164164        {
    165             LOGERROR(L"Cannot find object named '%hs' used by tooltip '%hs'", usedObjectName.c_str(), style.c_str());
     165            LOGERROR("Cannot find object named '%hs' used by tooltip '%hs'", usedObjectName.c_str(), style.c_str());
    166166            return;
    167167        }
    168168
    void GUITooltip::HideTooltip(const CStr& style, CGUI* gui)  
    213213    IGUIObject* tooltipobj = gui->FindObjectByName("__tooltip_"+style);
    214214    if (! tooltipobj)
    215215    {
    216         LOGERROR(L"Cannot find tooltip named '%hs'", style.c_str());
     216        LOGERROR("Cannot find tooltip named '%hs'", style.c_str());
    217217        return;
    218218    }
    219219
    void GUITooltip::HideTooltip(const CStr& style, CGUI* gui)  
    224224        IGUIObject* usedobj = gui->FindObjectByName(usedObjectName);
    225225        if (! usedobj)
    226226        {
    227             LOGERROR(L"Cannot find object named '%hs' used by tooltip '%hs'", usedObjectName.c_str(), style.c_str());
     227            LOGERROR("Cannot find object named '%hs' used by tooltip '%hs'", usedObjectName.c_str(), style.c_str());
    228228            return;
    229229        }
    230230
    static int GetTooltipDelay(CStr& style, CGUI* gui)  
    254254    IGUIObject* tooltipobj = gui->FindObjectByName("__tooltip_"+style);
    255255    if (! tooltipobj)
    256256    {
    257         LOGERROR(L"Cannot find tooltip object named '%hs'", style.c_str());
     257        LOGERROR("Cannot find tooltip object named '%hs'", style.c_str());
    258258        return delay;
    259259    }
    260260    GUI<int>::GetSetting(tooltipobj, "delay", delay);
  • source/gui/GUIbase.cpp

    diff --git a/source/gui/GUIbase.cpp b/source/gui/GUIbase.cpp
    index 491c2ec..effb583 100644
    a b bool CClientArea::SetClientArea(const CStr& Value)  
    113113            coord++;
    114114            break;
    115115        default:
    116             LOGWARNING(L"ClientArea definitions may only contain numerics. Your input: '%hs'", Value.c_str());
     116            LOGWARNING("ClientArea definitions may only contain numerics. Your input: '%hs'", Value.c_str());
    117117            return false;
    118118        }
    119119        if (coord > 3)
    120120        {
    121             LOGWARNING(L"Too many CClientArea parameters (4 max). Your input: '%hs'", Value.c_str());
     121            LOGWARNING("Too many CClientArea parameters (4 max). Your input: '%hs'", Value.c_str());
    122122            return false;
    123123        }
    124124    }
    125125
    126126    if (coord < 3)
    127127    {
    128         LOGWARNING(L"Too few CClientArea parameters (4 min). Your input: '%hs'", Value.c_str());
     128        LOGWARNING("Too few CClientArea parameters (4 min). Your input: '%hs'", Value.c_str());
    129129        return false;
    130130    }
    131131
  • source/gui/GUItext.cpp

    diff --git a/source/gui/GUItext.cpp b/source/gui/GUItext.cpp
    index 69d9f47..8b5f594 100644
    a b void CGUIString::GenerateTextCall(const CGUI *pGUI,  
    109109            if (!pGUI->IconExists(path))
    110110            {
    111111                if (pObject)
    112                     LOGERROR(L"Trying to use an icon, imgleft or imgright-tag with an undefined icon (\"%hs\").", path.c_str());
     112                    LOGERROR("Trying to use an icon, imgleft or imgright-tag with an undefined icon (\"%hs\").", path.c_str());
    113113                continue;
    114114            }
    115115
    void CGUIString::GenerateTextCall(const CGUI *pGUI,  
    158158                            CSize displacement;
    159159                            // Parse the value
    160160                            if (!GUI<CSize>::ParseString(tagAttrib.value, displacement))
    161                                 LOGERROR(L"Error parsing 'displace' value for tag [ICON]");
     161                                LOGERROR("Error parsing 'displace' value for tag [ICON]");
    162162                            else
    163163                                SpriteCall.m_Area += displacement;
    164164                        }
    void CGUIString::GenerateTextCall(const CGUI *pGUI,  
    182182                }
    183183                break;
    184184            default:
    185                 LOGERROR(L"Encountered unexpected tag applied to text");
     185                LOGERROR("Encountered unexpected tag applied to text");
    186186                break;
    187187            }
    188188        }
    void CGUIString::GenerateTextCall(const CGUI *pGUI,  
    207207
    208208                    if (!GUI<CColor>::ParseString(it2->m_TagValue, TextCall.m_Color)
    209209                        && pObject)
    210                         LOGERROR(L"Error parsing the value of a [color]-tag in GUI text when reading object \"%hs\".", pObject->GetPresentableName().c_str());
     210                        LOGERROR("Error parsing the value of a [color]-tag in GUI text when reading object \"%hs\".", pObject->GetPresentableName().c_str());
    211211                    break;
    212212                case CGUIString::TextChunk::Tag::TAG_FONT:
    213213                    // TODO Gee: (2004-08-15) Check if Font exists?
    214214                    TextCall.m_Font = CStrIntern(utf8_from_wstring(it2->m_TagValue));
    215215                    break;
    216216                default:
    217                     LOGERROR(L"Encountered unexpected tag applied to text");
     217                    LOGERROR("Encountered unexpected tag applied to text");
    218218                    break;
    219219                }
    220220            }
    void CGUIString::SetValue(const CStrW& str)  
    306306            closing = false;
    307307            if (++p == l)
    308308            {
    309                 LOGERROR(L"Partial tag at end of string '%ls'", str.c_str());
     309                LOGERROR("Partial tag at end of string '%ls'", str.c_str());
    310310                break;
    311311            }
    312312            if (str[p] == L'/')
    void CGUIString::SetValue(const CStrW& str)  
    314314                closing = true;
    315315                if (tags.empty())
    316316                {
    317                     LOGERROR(L"Encountered closing tag without having any open tags. At %d in '%ls'", p, str.c_str());
     317                    LOGERROR("Encountered closing tag without having any open tags. At %d in '%ls'", p, str.c_str());
    318318                    break;
    319319                }
    320320                if (++p == l)
    321321                {
    322                     LOGERROR(L"Partial closing tag at end of string '%ls'", str.c_str());
     322                    LOGERROR("Partial closing tag at end of string '%ls'", str.c_str());
    323323                    break;
    324324                }
    325325            }
    void CGUIString::SetValue(const CStrW& str)  
    332332                {
    333333                case L' ':
    334334                    if (closing) // We still parse them to make error handling cleaner
    335                         LOGERROR(L"Closing tags do not support parameters (at pos %d '%ls')", p, str.c_str());
     335                        LOGERROR("Closing tags do not support parameters (at pos %d '%ls')", p, str.c_str());
    336336
    337337                    // parse something="something else"
    338338                    for (++p; p < l && str[p] != L'='; ++p)
    void CGUIString::SetValue(const CStrW& str)  
    340340
    341341                    if (p == l)
    342342                    {
    343                         LOGERROR(L"Parameter without value at pos %d '%ls'", p, str.c_str());
     343                        LOGERROR("Parameter without value at pos %d '%ls'", p, str.c_str());
    344344                        break;
    345345                    }
    346346                    // fall-through
    347347                case L'=':
    348348                    // parse a quoted parameter
    349349                    if (closing) // We still parse them to make error handling cleaner
    350                         LOGERROR(L"Closing tags do not support parameters (at pos %d '%ls')", p, str.c_str());
     350                        LOGERROR("Closing tags do not support parameters (at pos %d '%ls')", p, str.c_str());
    351351
    352352                    if (++p == l)
    353353                    {
    354                         LOGERROR(L"Expected parameter, got end of string '%ls'", str.c_str());
     354                        LOGERROR("Expected parameter, got end of string '%ls'", str.c_str());
    355355                        break;
    356356                    }
    357357                    if (str[p] != L'"')
    358358                    {
    359                         LOGERROR(L"Unquoted parameters are not supported (at pos %d '%ls')", p, str.c_str());
     359                        LOGERROR("Unquoted parameters are not supported (at pos %d '%ls')", p, str.c_str());
    360360                        break;
    361361                    }
    362362                    for (++p; p < l && str[p] != L'"'; ++p)
    void CGUIString::SetValue(const CStrW& str)  
    366366                        case L'\\':
    367367                            if (++p == l)
    368368                            {
    369                                 LOGERROR(L"Escape character at end of string '%ls'", str.c_str());
     369                                LOGERROR("Escape character at end of string '%ls'", str.c_str());
    370370                                break;
    371371                            }
    372372                            // NOTE: We do not support \n in tag parameters
    void CGUIString::SetValue(const CStrW& str)  
    392392
    393393            if (!tag_.SetTagType(tag))
    394394            {
    395                 LOGERROR(L"Invalid tag '%ls' at %d in '%ls'", tag.c_str(), p, str.c_str());
     395                LOGERROR("Invalid tag '%ls' at %d in '%ls'", tag.c_str(), p, str.c_str());
    396396                break;
    397397            }
    398398            if (!closing)
    void CGUIString::SetValue(const CStrW& str)  
    415415            {
    416416                if (tag != tags.back())
    417417                {
    418                     LOGERROR(L"Closing tag '%ls' does not match last opened tag '%ls' at %d in '%ls'", tag.c_str(), tags.back().c_str(), p, str.c_str());
     418                    LOGERROR("Closing tag '%ls' does not match last opened tag '%ls' at %d in '%ls'", tag.c_str(), tags.back().c_str(), p, str.c_str());
    419419                    break;
    420420                }
    421421
    void CGUIString::SetValue(const CStrW& str)  
    426426        case L'\\':
    427427            if (++p == l)
    428428            {
    429                 LOGERROR(L"Escape character at end of string '%ls'", str.c_str());
     429                LOGERROR("Escape character at end of string '%ls'", str.c_str());
    430430                break;
    431431            }
    432432            if (str[p] == L'n')
  • source/gui/GUIutil.cpp

    diff --git a/source/gui/GUIutil.cpp b/source/gui/GUIutil.cpp
    index 009c702..15f0da4 100644
    a b bool __ParseString<CRect>(const CStrW& Value, CRect &Output)  
    6969    {
    7070        if (stream.eof())
    7171        {
    72             LOGWARNING(L"Too few CRect parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     72            LOGWARNING("Too few CRect parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    7373            return false;
    7474        }
    7575        stream >> coords[i];
    7676        if ((stream.rdstate() & std::wstringstream::failbit) != 0)
    7777        {
    78             LOGWARNING(L"Unable to parse CRect parameters. Your input: '%hs'", Value.ToUTF8().c_str());
     78            LOGWARNING("Unable to parse CRect parameters. Your input: '%hs'", Value.ToUTF8().c_str());
    7979            return false;
    8080        }
    8181    }
    8282
    8383    if (!stream.eof())
    8484    {
    85         LOGWARNING(L"Too many CRect parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     85        LOGWARNING("Too many CRect parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    8686        return false;
    8787    }
    8888
    bool __ParseString<CSize>(const CStrW& Value, CSize &Output)  
    134134    {
    135135        if (stream.eof())
    136136        {
    137             LOGWARNING(L"Too few CSize parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     137            LOGWARNING("Too few CSize parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    138138            return false;
    139139        }
    140140        stream >> coords[i];
    141141        if ((stream.rdstate() & std::wstringstream::failbit) != 0)
    142142        {
    143             LOGWARNING(L"Unable to parse CSize parameters. Your input: '%hs'", Value.ToUTF8().c_str());
     143            LOGWARNING("Unable to parse CSize parameters. Your input: '%hs'", Value.ToUTF8().c_str());
    144144            return false;
    145145        }
    146146    }
    bool __ParseString<CSize>(const CStrW& Value, CSize &Output)  
    150150
    151151    if (!stream.eof())
    152152    {
    153         LOGWARNING(L"Too many CSize parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     153        LOGWARNING("Too many CSize parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    154154        return false;
    155155    }
    156156
    bool __ParseString<CPos>(const CStrW& Value, CPos &Output)  
    169169    {
    170170        if (stream.eof())
    171171        {
    172             LOGWARNING(L"Too few CPos parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     172            LOGWARNING("Too few CPos parameters (min %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    173173            return false;
    174174        }
    175175        stream >> coords[i];
    176176        if ((stream.rdstate() & std::wstringstream::failbit) != 0)
    177177        {
    178             LOGWARNING(L"Unable to parse CPos parameters. Your input: '%hs'", Value.ToUTF8().c_str());
     178            LOGWARNING("Unable to parse CPos parameters. Your input: '%hs'", Value.ToUTF8().c_str());
    179179            return false;
    180180        }
    181181    }
    bool __ParseString<CPos>(const CStrW& Value, CPos &Output)  
    185185
    186186    if (!stream.eof())
    187187    {
    188         LOGWARNING(L"Too many CPos parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
     188        LOGWARNING("Too many CPos parameters (max %i). Your input: '%hs'", NUM_COORDS, Value.ToUTF8().c_str());
    189189        return false;
    190190    }
    191191
    PSRETURN GUI<T>::GetSettingPointer(const IGUIObject *pObject, const CStr& Settin  
    339339    std::map<CStr, SGUISetting>::const_iterator it = pObject->m_Settings.find(Setting);
    340340    if (it == pObject->m_Settings.end())
    341341    {
    342         LOGWARNING(L"setting %hs was not found on object %hs",
     342        LOGWARNING("setting %hs was not found on object %hs",
    343343            Setting.c_str(),
    344344            pObject->GetPresentableName().c_str());
    345345        return PSRETURN_GUI_InvalidSetting;
    PSRETURN GUI<T>::SetSetting(IGUIObject *pObject, const CStr& Setting,  
    388388
    389389    if (!pObject->SettingExists(Setting))
    390390    {
    391         LOGWARNING(L"setting %hs was not found on object %hs",
     391        LOGWARNING("setting %hs was not found on object %hs",
    392392            Setting.c_str(),
    393393            pObject->GetPresentableName().c_str());
    394394        return PSRETURN_GUI_InvalidSetting;
  • source/gui/IGUIObject.cpp

    diff --git a/source/gui/IGUIObject.cpp b/source/gui/IGUIObject.cpp
    index d32cb28..62e93e5 100644
    a b bool IGUIObject::IsRootObject() const  
    561561
    562562PSRETURN IGUIObject::LogInvalidSettings(const CStr8 &Setting) const
    563563{
    564     LOGWARNING(L"IGUIObject: setting %hs was not found on an object",
     564    LOGWARNING("IGUIObject: setting %hs was not found on an object",
    565565        Setting.c_str());
    566566    return PSRETURN_GUI_InvalidSetting;
    567567}
  • source/gui/scripting/ScriptFunctions.cpp

    diff --git a/source/gui/scripting/ScriptFunctions.cpp b/source/gui/scripting/ScriptFunctions.cpp
    index 1f7f309..bc6881a 100644
    a b void SaveGame(ScriptInterface::CxPrivate* pCxPrivate, std::wstring filename, std  
    308308   
    309309    shared_ptr<ScriptInterface::StructuredClone> GUIMetadataClone = pCxPrivate->pScriptInterface->WriteStructuredClone(GUIMetadata);
    310310    if (SavedGames::Save(filename, description, *g_Game->GetSimulation2(), GUIMetadataClone, g_Game->GetPlayerID()) < 0)
    311         LOGERROR(L"Failed to save game");
     311        LOGERROR("Failed to save game");
    312312}
    313313
    314314void SaveGamePrefix(ScriptInterface::CxPrivate* pCxPrivate, std::wstring prefix, std::wstring description, CScriptVal GUIMetadata1)
    void SaveGamePrefix(ScriptInterface::CxPrivate* pCxPrivate, std::wstring prefix,  
    320320   
    321321    shared_ptr<ScriptInterface::StructuredClone> GUIMetadataClone = pCxPrivate->pScriptInterface->WriteStructuredClone(GUIMetadata);
    322322    if (SavedGames::SavePrefix(prefix, description, *g_Game->GetSimulation2(), GUIMetadataClone, g_Game->GetPlayerID()) < 0)
    323         LOGERROR(L"Failed to save game");
     323        LOGERROR("Failed to save game");
    324324}
    325325
    326326void SetNetworkGameAttributes(ScriptInterface::CxPrivate* pCxPrivate, CScriptVal attribs1)
    void SetTurnLength(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), int length)  
    630630    if (g_NetServer)
    631631        g_NetServer->SetTurnLength(length);
    632632    else
    633         LOGERROR(L"Only network host can change turn length");
     633        LOGERROR("Only network host can change turn length");
    634634}
    635635
    636636// Focus the game camera on a given position.
    void DumpTerrainMipmap(ScriptInterface::CxPrivate* UNUSED(pCxPrivate))  
    676676    g_Game->GetWorld()->GetTerrain()->GetHeightMipmap().DumpToDisk(filename);
    677677    OsPath realPath;
    678678    g_VFS->GetRealPath(filename, realPath);
    679     LOGMESSAGERENDER(L"Terrain mipmap written to '%ls'", realPath.string().c_str());
     679    LOGMESSAGERENDER("Terrain mipmap written to '%ls'", realPath.string().c_str());
    680680}
    681681
    682682void EnableTimeWarpRecording(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), unsigned int numTurns)
    void StartJsTimer(ScriptInterface::CxPrivate* pCxPrivate, unsigned int slot)  
    906906    ONCE(InitJsTimers(*(pCxPrivate->pScriptInterface)));
    907907   
    908908    if (slot >= MAX_JS_TIMERS)
    909         LOGERROR(L"Exceeded the maximum number of timer slots for scripts!");
     909        LOGERROR("Exceeded the maximum number of timer slots for scripts!");
    910910
    911911    js_start_times[slot].SetFromTimer();
    912912}
    void StartJsTimer(ScriptInterface::CxPrivate* pCxPrivate, unsigned int slot)  
    914914void StopJsTimer(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), unsigned int slot)
    915915{
    916916    if (slot >= MAX_JS_TIMERS)
    917         LOGERROR(L"Exceeded the maximum number of timer slots for scripts!");
     917        LOGERROR("Exceeded the maximum number of timer slots for scripts!");
    918918
    919919    TimerUnit now;
    920920    now.SetFromTimer();
  • source/i18n/L10n.cpp

    diff --git a/source/i18n/L10n.cpp b/source/i18n/L10n.cpp
    index a77c7da..6f109e3 100644
    a b void L10n::GetDictionaryLocale(const std::string& configLocaleString, Locale& ou  
    203203            return;
    204204        }
    205205        else
    206             LOGWARNING(L"The configured locale is not valid or no translations are available. Falling back to another locale.");
     206            LOGWARNING("The configured locale is not valid or no translations are available. Falling back to another locale.");
    207207    }
    208208   
    209209    Locale systemLocale = Locale::getDefault();
    std::string L10n::FormatMillisecondsIntoDateString(const UDate& milliseconds, co  
    408408    UnicodeString unicodeFormat = UnicodeString::fromUTF8(formatString.c_str());
    409409    SimpleDateFormat* dateFormat = new SimpleDateFormat(unicodeFormat, status);
    410410    if (U_FAILURE(status))
    411         LOGERROR(L"Error creating SimpleDateFormat: %hs", u_errorName(status));
     411        LOGERROR("Error creating SimpleDateFormat: %hs", u_errorName(status));
    412412
    413413    const TimeZone* timeZone = TimeZone::getGMT();
    414414
    415415    status = U_ZERO_ERROR;
    416416    Calendar* calendar = Calendar::createInstance(*timeZone, currentLocale, status);
    417417    if (U_FAILURE(status))
    418         LOGERROR(L"Error creating calendar: %hs", u_errorName(status));
     418        LOGERROR("Error creating calendar: %hs", u_errorName(status));
    419419   
    420420    dateFormat->adoptCalendar(calendar);
    421421    dateFormat->format(milliseconds, dateString);
    Status L10n::ReloadChangedFile(const VfsPath& path)  
    470470    if (path.string().rfind(dictName) == std::string::npos)
    471471        return INFO::OK;
    472472
    473     LOGMESSAGE(L"Hotloading translations from '%ls'", path.string().c_str());
     473    LOGMESSAGE("Hotloading translations from '%ls'", path.string().c_str());
    474474
    475475    CVFSFile file;
    476476    if (file.Load(g_VFS, path) != PSRETURN_OK)
    477477    {
    478         LOGERROR(L"Failed to read translations from '%ls'", path.string().c_str());
     478        LOGERROR("Failed to read translations from '%ls'", path.string().c_str());
    479479        return ERR::FAIL;
    480480    }
    481481
    void L10n::LoadDictionaryForCurrentLocale()  
    505505        std::wstring dictName = GetFallbackToAvailableDictLocale(currentLocale);
    506506        if (vfs::GetPathnames(g_VFS, L"l10n/", dictName.append(L".*.po").c_str(), filenames) < 0)
    507507        {
    508             LOGERROR(L"No files for the dictionary found, but at this point the input should already be validated!");
     508            LOGERROR("No files for the dictionary found, but at this point the input should already be validated!");
    509509            return;
    510510        }
    511511    }
    void L10n::ReadPoIntoDictionary(const std::string& poContent, tinygettext::Dicti  
    569569    }
    570570    catch(std::exception& e)
    571571    {
    572         LOGERROR(L"[Localization] Exception while reading virtual PO file: %hs", e.what());
     572        LOGERROR("[Localization] Exception while reading virtual PO file: %hs", e.what());
    573573    }
    574574}
    575575
  • source/lib/sysdep/os/linux/dir_watch_inotify.cpp

    diff --git a/source/lib/sysdep/os/linux/dir_watch_inotify.cpp b/source/lib/sysdep/os/linux/dir_watch_inotify.cpp
    index 52bd702..93c5ad2 100644
    a b Status dir_watch_Add(const OsPath& path, PDirWatch& dirWatch)  
    188188            // Check for error ?
    189189            int err = errno;
    190190            initialized = -1;
    191             LOGERROR(L"Error initializing inotify file descriptor; hotloading will be disabled, errno=%d", err);
     191            LOGERROR("Error initializing inotify file descriptor; hotloading will be disabled, errno=%d", err);
    192192            errno = err;
    193193            return StatusFromErrno();   // NOWARN
    194194        }
    Status dir_watch_Add(const OsPath& path, PDirWatch& dirWatch)  
    198198        if (ret != 0)
    199199        {
    200200            initialized = -1;
    201             LOGERROR(L"Error creating inotify event loop thread; hotloading will be disabled, err=%d", ret);
     201            LOGERROR("Error creating inotify event loop thread; hotloading will be disabled, err=%d", ret);
    202202            errno = ret;
    203203            return StatusFromErrno();   // NOWARN
    204204        }
  • source/lobby/XmppClient.cpp

    diff --git a/source/lobby/XmppClient.cpp b/source/lobby/XmppClient.cpp
    index 4b454e0..a09bfb9 100644
    a b bool XmppClient::handleIq(const glooxwrapper::IQ& iq)  
    749749    {
    750750        CreateSimpleMessage("system", g_L10n.Translate("unknown subtype (see logs)"), "error");
    751751        std::string tag = tag_name(iq);
    752         LOGMESSAGE(L"unknown subtype '%hs'", tag.c_str());
     752        LOGMESSAGE("unknown subtype '%hs'", tag.c_str());
    753753    }
    754754
    755755    return true;
    void XmppClient::SetPresence(const std::string& presence)  
    896896    else IF("offline", Unavailable);
    897897    // The others are not to be set
    898898#undef IF
    899     else LOGERROR(L"Unknown presence '%hs'", presence.c_str());
     899    else LOGERROR("Unknown presence '%hs'", presence.c_str());
    900900}
    901901
    902902/**
    void XmppClient::GetPresenceString(const gloox::Presence::PresenceType p, std::s  
    952952    CASE(Error, "error");
    953953    CASE(Invalid, "invalid");
    954954    default:
    955         LOGERROR(L"Unknown presence type '%d'", (int)p);
     955        LOGERROR("Unknown presence type '%d'", (int)p);
    956956        break;
    957957#undef CASE
    958958    }
    void XmppClient::GetRoleString(const gloox::MUCRoomRole r, std::string& role) co  
    975975    CASE(RoleModerator, "moderator");
    976976    CASE(RoleInvalid, "invalid");
    977977    default:
    978         LOGERROR(L"Unknown role type '%d'", (int)r);
     978        LOGERROR("Unknown role type '%d'", (int)r);
    979979        break;
    980980#undef CASE
    981981    }
  • source/main.cpp

    diff --git a/source/main.cpp b/source/main.cpp
    index 4d90e76..051e2f9 100644
    a b static InReaction MainInputHandler(const SDL_Event_* ev)  
    159159            // Fullscreen toggling is broken on OS X w/ SDL 1.2, see http://trac.wildfiregames.com/ticket/741
    160160            g_VideoMode.ToggleFullscreen();
    161161#else
    162             LOGWARNING(L"Toggling fullscreen and resizing are disabled on OS X due to a known bug. Please use the config file to change display settings.");
     162            LOGWARNING("Toggling fullscreen and resizing are disabled on OS X due to a known bug. Please use the config file to change display settings.");
    163163#endif
    164164            return IN_HANDLED;
    165165        }
  • source/network/NetClient.cpp

    diff --git a/source/network/NetClient.cpp b/source/network/NetClient.cpp
    index 8062cc8..bc5aa66 100644
    a b bool CNetClient::HandleMessage(CNetMessage* message)  
    304304
    305305        std::stringstream stream;
    306306
    307         LOGMESSAGERENDER(L"Serializing game at turn %u for rejoining player", m_ClientTurnManager->GetCurrentTurn());
     307        LOGMESSAGERENDER("Serializing game at turn %u for rejoining player", m_ClientTurnManager->GetCurrentTurn());
    308308        u32 turn = to_le32(m_ClientTurnManager->GetCurrentTurn());
    309309        stream.write((char*)&turn, sizeof(turn));
    310310
    bool CNetClient::HandleMessage(CNetMessage* message)  
    324324    // Update FSM
    325325    bool ok = Update(message->GetType(), message);
    326326    if (!ok)
    327         LOGERROR(L"Net client: Error running FSM update (type=%d state=%d)", (int)message->GetType(), (int)GetCurrState());
     327        LOGERROR("Net client: Error running FSM update (type=%d state=%d)", (int)message->GetType(), (int)GetCurrState());
    328328    return ok;
    329329}
    330330
    void CNetClient::LoadFinished()  
    347347        stream.read((char*)&turn, sizeof(turn));
    348348        turn = to_le32(turn);
    349349
    350         LOGMESSAGE(L"Rejoining client deserializing state at turn %u\n", turn);
     350        LOGMESSAGE("Rejoining client deserializing state at turn %u\n", turn);
    351351
    352352        bool ok = m_Game->GetSimulation2()->DeserializeState(stream);
    353353        ENSURE(ok);
    bool CNetClient::OnAuthenticate(void* context, CFsmEvent* event)  
    428428
    429429    CAuthenticateResultMessage* message = (CAuthenticateResultMessage*)event->GetParamRef();
    430430
    431     LOGMESSAGE(L"Net: Authentication result: host=%u, %ls", message->m_HostID, message->m_Message.c_str());
     431    LOGMESSAGE("Net: Authentication result: host=%u, %ls", message->m_HostID, message->m_Message.c_str());
    432432
    433433    bool  isRejoining = (message->m_Code == ARC_OK_REJOINING);
    434434
  • source/network/NetFileTransfer.cpp

    diff --git a/source/network/NetFileTransfer.cpp b/source/network/NetFileTransfer.cpp
    index 02805e3..1bf4da9 100644
    a b Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    1515
    1616        if (m_FileReceiveTasks.find(respMessage->m_RequestID) == m_FileReceiveTasks.end())
    1717        {
    18             LOGERROR(L"Net transfer: Unsolicited file transfer response (id=%d)", (int)respMessage->m_RequestID);
     18            LOGERROR("Net transfer: Unsolicited file transfer response (id=%d)", (int)respMessage->m_RequestID);
    1919            return ERR::FAIL;
    2020        }
    2121
    2222        if (respMessage->m_Length == 0 || respMessage->m_Length > MAX_FILE_TRANSFER_SIZE)
    2323        {
    24             LOGERROR(L"Net transfer: Invalid size for file transfer response (length=%d)", (int)respMessage->m_Length);
     24            LOGERROR("Net transfer: Invalid size for file transfer response (length=%d)", (int)respMessage->m_Length);
    2525            return ERR::FAIL;
    2626        }
    2727
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    3030        task->m_Length = respMessage->m_Length;
    3131        task->m_Buffer.reserve(respMessage->m_Length);
    3232
    33         LOGMESSAGERENDER(L"Downloading data over network (%d KB) - please wait...", (int)(task->m_Length/1024));
     33        LOGMESSAGERENDER("Downloading data over network (%d KB) - please wait...", (int)(task->m_Length/1024));
    3434        m_LastProgressReportTime = timer_Time();
    3535
    3636        return INFO::OK;
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    4141
    4242        if (m_FileReceiveTasks.find(dataMessage->m_RequestID) == m_FileReceiveTasks.end())
    4343        {
    44             LOGERROR(L"Net transfer: Unsolicited file transfer data (id=%d)", (int)dataMessage->m_RequestID);
     44            LOGERROR("Net transfer: Unsolicited file transfer data (id=%d)", (int)dataMessage->m_RequestID);
    4545            return ERR::FAIL;
    4646        }
    4747
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    5151
    5252        if (task->m_Buffer.size() > task->m_Length)
    5353        {
    54             LOGERROR(L"Net transfer: Invalid size for file transfer data (length=%d actual=%d)", (int)task->m_Length, (int)task->m_Buffer.size());
     54            LOGERROR("Net transfer: Invalid size for file transfer data (length=%d actual=%d)", (int)task->m_Length, (int)task->m_Buffer.size());
    5555            return ERR::FAIL;
    5656        }
    5757
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    6262
    6363        if (task->m_Buffer.size() == task->m_Length)
    6464        {
    65             LOGMESSAGERENDER(L"Download completed");
     65            LOGMESSAGERENDER("Download completed");
    6666
    6767            task->OnComplete();
    6868            m_FileReceiveTasks.erase(dataMessage->m_RequestID);
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    7575        double t = timer_Time();
    7676        if (t > m_LastProgressReportTime + 0.5)
    7777        {
    78             LOGMESSAGERENDER(L"Downloading data: %.1f%% of %d KB", 100.f*task->m_Buffer.size()/task->m_Length, (int)(task->m_Length/1024));
     78            LOGMESSAGERENDER("Downloading data: %.1f%% of %d KB", 100.f*task->m_Buffer.size()/task->m_Length, (int)(task->m_Length/1024));
    7979            m_LastProgressReportTime = t;
    8080        }
    8181
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    8787
    8888        if (m_FileSendTasks.find(ackMessage->m_RequestID) == m_FileSendTasks.end())
    8989        {
    90             LOGERROR(L"Net transfer: Unsolicited file transfer ack (id=%d)", (int)ackMessage->m_RequestID);
     90            LOGERROR("Net transfer: Unsolicited file transfer ack (id=%d)", (int)ackMessage->m_RequestID);
    9191            return ERR::FAIL;
    9292        }
    9393
    Status CNetFileTransferer::HandleMessageReceive(const CNetMessage* message)  
    9595
    9696        if (ackMessage->m_NumPackets > task.packetsInFlight)
    9797        {
    98             LOGERROR(L"Net transfer: Invalid num packets for file transfer ack (num=%d inflight=%d)",
     98            LOGERROR("Net transfer: Invalid num packets for file transfer ack (num=%d inflight=%d)",
    9999                (int)ackMessage->m_NumPackets, (int)task.packetsInFlight);
    100100            return ERR::FAIL;
    101101        }
  • source/network/NetHost.cpp

    diff --git a/source/network/NetHost.cpp b/source/network/NetHost.cpp
    index 7d0d682..1f14daf 100644
    a b bool CNetHost::SendMessage(const CNetMessage* message, ENetPeer* peer, const cha  
    2929    if (!packet)
    3030        return false;
    3131
    32     LOGMESSAGE(L"Net: Sending message %hs of size %lu to %hs", message->ToString().c_str(), (unsigned long)packet->dataLength, peerName);
     32    LOGMESSAGE("Net: Sending message %hs of size %lu to %hs", message->ToString().c_str(), (unsigned long)packet->dataLength, peerName);
    3333
    3434    // Let ENet send the message to peer
    3535    if (enet_peer_send(peer, DEFAULT_CHANNEL, packet) < 0)
    3636    {
    37         LOGERROR(L"Net: Failed to send packet to peer");
     37        LOGERROR("Net: Failed to send packet to peer");
    3838        return false;
    3939    }
    4040
    ENetPacket* CNetHost::CreatePacket(const CNetMessage* message)  
    6262    // Create a reliable packet
    6363    ENetPacket* packet = enet_packet_create(&buffer[0], size, ENET_PACKET_FLAG_RELIABLE);
    6464    if (!packet)
    65         LOGERROR(L"Net: Failed to construct packet");
     65        LOGERROR("Net: Failed to construct packet");
    6666
    6767    return packet;
    6868}
  • source/network/NetMessage.cpp

    diff --git a/source/network/NetMessage.cpp b/source/network/NetMessage.cpp
    index d2c3be2..daa892c 100644
    a b const u8* CNetMessage::Deserialize(const u8* pStart, const u8* pEnd)  
    5454{
    5555    if (pStart + 3 > pEnd)
    5656    {
    57         LOGERROR(L"CNetMessage: Corrupt packet (smaller than header)");
     57        LOGERROR("CNetMessage: Corrupt packet (smaller than header)");
    5858        return NULL;
    5959    }
    6060
    const u8* CNetMessage::Deserialize(const u8* pStart, const u8* pEnd)  
    6868
    6969    if (pStart + size != pEnd)
    7070    {
    71         LOGERROR(L"CNetMessage: Corrupt packet (incorrect size)");
     71        LOGERROR("CNetMessage: Corrupt packet (incorrect size)");
    7272        return NULL;
    7373    }
    7474
    CNetMessage* CNetMessageFactory::CreateMessage(const void* pData,  
    184184        break;
    185185
    186186    default:
    187         LOGERROR(L"CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", header.GetType());
     187        LOGERROR("CNetMessageFactory::CreateMessage(): Unknown message type '%d' received", header.GetType());
    188188        break;
    189189    }
    190190
  • source/network/NetServer.cpp

    diff --git a/source/network/NetServer.cpp b/source/network/NetServer.cpp
    index bcf904d..ca48504 100644
    a b public:  
    9494
    9595        if (!session)
    9696        {
    97             LOGMESSAGE(L"Net server: rejoining client disconnected before we sent to it");
     97            LOGMESSAGE("Net server: rejoining client disconnected before we sent to it");
    9898            return;
    9999        }
    100100
    bool CNetServerWorker::SetupConnection()  
    177177    m_Host = enet_host_create(&addr, MAX_CLIENTS, CHANNEL_COUNT, 0, 0);
    178178    if (!m_Host)
    179179    {
    180         LOGERROR(L"Net server: enet_host_create failed");
     180        LOGERROR("Net server: enet_host_create failed");
    181181        return false;
    182182    }
    183183
    void* CNetServerWorker::SetupUPnP(void*)  
    224224    std::string rootDescURL;
    225225    CFG_GET_VAL("network.upnprootdescurl", rootDescURL);
    226226    if (!rootDescURL.empty())
    227         LOGMESSAGE(L"Net server: attempting to use cached root descriptor URL: %hs", rootDescURL.c_str());
     227        LOGMESSAGE("Net server: attempting to use cached root descriptor URL: %hs", rootDescURL.c_str());
    228228
    229229    int ret = 0;
    230230    bool allocatedUrls = false;
    void* CNetServerWorker::SetupUPnP(void*)  
    232232    // Try a cached URL first
    233233    if (!rootDescURL.empty() && UPNP_GetIGDFromUrl(rootDescURL.c_str(), &urls, &data, internalIPAddress, sizeof(internalIPAddress)))
    234234    {
    235         LOGMESSAGE(L"Net server: using cached IGD = %hs", urls.controlURL);
     235        LOGMESSAGE("Net server: using cached IGD = %hs", urls.controlURL);
    236236        ret = 1;
    237237    }
    238238    // No cached URL, or it did not respond. Try getting a valid UPnP device for 10 seconds.
    void* CNetServerWorker::SetupUPnP(void*)  
    243243    }
    244244    else
    245245    {
    246         LOGMESSAGE(L"Net server: upnpDiscover failed and no working cached URL.");
     246        LOGMESSAGE("Net server: upnpDiscover failed and no working cached URL.");
    247247        return NULL;
    248248    }
    249249
    250250    switch (ret)
    251251    {
    252252    case 0:
    253         LOGMESSAGE(L"Net server: No IGD found");
     253        LOGMESSAGE("Net server: No IGD found");
    254254        break;
    255255    case 1:
    256         LOGMESSAGE(L"Net server: found valid IGD = %hs", urls.controlURL);
     256        LOGMESSAGE("Net server: found valid IGD = %hs", urls.controlURL);
    257257        break;
    258258    case 2:
    259         LOGMESSAGE(L"Net server: found a valid, not connected IGD = %hs, will try to continue anyway", urls.controlURL);
     259        LOGMESSAGE("Net server: found a valid, not connected IGD = %hs, will try to continue anyway", urls.controlURL);
    260260        break;
    261261    case 3:
    262         LOGMESSAGE(L"Net server: found a UPnP device unrecognized as IGD = %hs, will try to continue anyway", urls.controlURL);
     262        LOGMESSAGE("Net server: found a UPnP device unrecognized as IGD = %hs, will try to continue anyway", urls.controlURL);
    263263        break;
    264264    default:
    265265        debug_warn(L"Unrecognized return value from UPNP_GetValidIGD");
    void* CNetServerWorker::SetupUPnP(void*)  
    269269    ret = UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIPAddress);
    270270    if (ret != UPNPCOMMAND_SUCCESS)
    271271    {
    272         LOGMESSAGE(L"Net server: GetExternalIPAddress failed with code %d (%hs)", ret, strupnperror(ret));
     272        LOGMESSAGE("Net server: GetExternalIPAddress failed with code %d (%hs)", ret, strupnperror(ret));
    273273        return NULL;
    274274    }
    275     LOGMESSAGE(L"Net server: ExternalIPAddress = %hs", externalIPAddress);
     275    LOGMESSAGE("Net server: ExternalIPAddress = %hs", externalIPAddress);
    276276
    277277    // Try to setup port forwarding.
    278278    ret = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, psPort, psPort,
    279279                            internalIPAddress, description, protocall, 0, leaseDuration);
    280280    if (ret != UPNPCOMMAND_SUCCESS)
    281281    {
    282         LOGMESSAGE(L"Net server: AddPortMapping(%hs, %hs, %hs) failed with code %d (%hs)",
     282        LOGMESSAGE("Net server: AddPortMapping(%hs, %hs, %hs) failed with code %d (%hs)",
    283283               psPort, psPort, internalIPAddress, ret, strupnperror(ret));
    284284        return NULL;
    285285    }
    void* CNetServerWorker::SetupUPnP(void*)  
    296296
    297297    if (ret != UPNPCOMMAND_SUCCESS)
    298298    {
    299         LOGMESSAGE(L"Net server: GetSpecificPortMappingEntry() failed with code %d (%hs)", ret, strupnperror(ret));
     299        LOGMESSAGE("Net server: GetSpecificPortMappingEntry() failed with code %d (%hs)", ret, strupnperror(ret));
    300300        return NULL;
    301301    }
    302302
    303     LOGMESSAGE(L"Net server: External %hs:%hs %hs is redirected to internal %hs:%hs (duration=%hs)",
     303    LOGMESSAGE("Net server: External %hs:%hs %hs is redirected to internal %hs:%hs (duration=%hs)",
    304304                   externalIPAddress, psPort, protocall, intClient, intPort, duration);
    305305
    306306    // Cache root descriptor URL to try to avoid discovery next time.
    307307    g_ConfigDB.SetValueString(CFG_USER, "network.upnprootdescurl", urls.controlURL);
    308308    g_ConfigDB.WriteFile(CFG_USER);
    309     LOGMESSAGE(L"Net server: cached UPnP root descriptor URL as %hs", urls.controlURL);
     309    LOGMESSAGE("Net server: cached UPnP root descriptor URL as %hs", urls.controlURL);
    310310
    311311    // Make sure everything is properly freed.
    312312    if (allocatedUrls)
    bool CNetServerWorker::RunStep()  
    451451    int status = enet_host_service(m_Host, &event, HOST_SERVICE_TIMEOUT);
    452452    if (status < 0)
    453453    {
    454         LOGERROR(L"CNetServerWorker: enet_host_service failed (%d)", status);
     454        LOGERROR("CNetServerWorker: enet_host_service failed (%d)", status);
    455455        // TODO: notify game that the server has shut down
    456456        return false;
    457457    }
    bool CNetServerWorker::RunStep()  
    471471        // Report the client address
    472472        char hostname[256] = "(error)";
    473473        enet_address_get_host_ip(&event.peer->address, hostname, ARRAY_SIZE(hostname));
    474         LOGMESSAGE(L"Net server: Received connection from %hs:%u", hostname, (unsigned int)event.peer->address.port);
     474        LOGMESSAGE("Net server: Received connection from %hs:%u", hostname, (unsigned int)event.peer->address.port);
    475475
    476476        // Set up a session object for this peer
    477477
    bool CNetServerWorker::RunStep()  
    496496        CNetServerSession* session = static_cast<CNetServerSession*>(event.peer->data);
    497497        if (session)
    498498        {
    499             LOGMESSAGE(L"Net server: Disconnected %hs", DebugName(session).c_str());
     499            LOGMESSAGE("Net server: Disconnected %hs", DebugName(session).c_str());
    500500
    501501            // Remove the session first, so we won't send player-update messages to it
    502502            // when updating the FSM
    bool CNetServerWorker::RunStep()  
    522522            CNetMessage* msg = CNetMessageFactory::CreateMessage(event.packet->data, event.packet->dataLength, GetScriptInterface());
    523523            if (msg)
    524524            {
    525                 LOGMESSAGE(L"Net server: Received message %hs of size %lu from %hs", msg->ToString().c_str(), (unsigned long)msg->GetSerializedLength(), DebugName(session).c_str());
     525                LOGMESSAGE("Net server: Received message %hs of size %lu from %hs", msg->ToString().c_str(), (unsigned long)msg->GetSerializedLength(), DebugName(session).c_str());
    526526
    527527                HandleMessageReceive(msg, session);
    528528
    void CNetServerWorker::HandleMessageReceive(const CNetMessage* message, CNetServ  
    566566    // Update FSM
    567567    bool ok = session->Update(message->GetType(), (void*)message);
    568568    if (!ok)
    569         LOGERROR(L"Net server: Error running FSM update (type=%d state=%d)", (int)message->GetType(), (int)session->GetCurrState());
     569        LOGERROR("Net server: Error running FSM update (type=%d state=%d)", (int)message->GetType(), (int)session->GetCurrState());
    570570}
    571571
    572572void CNetServerWorker::SetupSession(CNetServerSession* session)
    bool CNetServerWorker::OnAuthenticate(void* context, CFsmEvent* event)  
    810810        // Players who weren't already in the game are not allowed to join now that it's started
    811811        if (!isRejoining)
    812812        {
    813             LOGMESSAGE(L"Refused connection after game start from not-previously-known user \"%ls\"", username.c_str());
     813            LOGMESSAGE("Refused connection after game start from not-previously-known user \"%ls\"", username.c_str());
    814814            session->Disconnect(NDR_SERVER_ALREADY_IN_GAME);
    815815            return true;
    816816        }
  • source/network/NetSession.cpp

    diff --git a/source/network/NetSession.cpp b/source/network/NetSession.cpp
    index 6bdaa57..cadf277 100644
    a b void CNetClientSession::Poll()  
    112112            // Report the server address
    113113            char hostname[256] = "(error)";
    114114            enet_address_get_host_ip(&event.peer->address, hostname, ARRAY_SIZE(hostname));
    115             LOGMESSAGE(L"Net client: Connected to %hs:%u", hostname, (unsigned int)event.peer->address.port);
     115            LOGMESSAGE("Net client: Connected to %hs:%u", hostname, (unsigned int)event.peer->address.port);
    116116
    117117            m_Client.HandleConnect();
    118118
    void CNetClientSession::Poll()  
    123123        {
    124124            ENSURE(event.peer == m_Server);
    125125
    126             LOGMESSAGE(L"Net client: Disconnected");
     126            LOGMESSAGE("Net client: Disconnected");
    127127            m_Client.HandleDisconnect(event.data);
    128128            return;
    129129        }
    void CNetClientSession::Poll()  
    133133            CNetMessage* msg = CNetMessageFactory::CreateMessage(event.packet->data, event.packet->dataLength, m_Client.GetScriptInterface());
    134134            if (msg)
    135135            {
    136                 LOGMESSAGE(L"Net client: Received message %hs of size %lu from server", msg->ToString().c_str(), (unsigned long)msg->GetSerializedLength());
     136                LOGMESSAGE("Net client: Received message %hs of size %lu from server", msg->ToString().c_str(), (unsigned long)msg->GetSerializedLength());
    137137
    138138                m_Client.HandleMessage(msg);
    139139
  • source/network/NetTurnManager.cpp

    diff --git a/source/network/NetTurnManager.cpp b/source/network/NetTurnManager.cpp
    index 70059ec..2b9ade2 100644
    a b void CNetTurnManager::OnSyncError(u32 turn, const std::string& expectedHash)  
    244244    if (g_GUI)
    245245        g_GUI->DisplayMessageBox(600, 350, L"Sync error", msg.str());
    246246    else
    247         LOGERROR(L"%ls", msg.str().c_str());
     247        LOGERROR("%ls", msg.str().c_str());
    248248}
    249249
    250250void CNetTurnManager::Interpolate(float simFrameLength, float realFrameLength)
    void CNetTurnManager::QuickSave()  
    327327    bool ok = m_Simulation2.SerializeState(stream);
    328328    if (!ok)
    329329    {
    330         LOGERROR(L"Failed to quicksave game");
     330        LOGERROR("Failed to quicksave game");
    331331        return;
    332332    }
    333333
    void CNetTurnManager::QuickSave()  
    337337    else
    338338        m_QuickSaveMetadata = std::string();
    339339
    340     LOGMESSAGERENDER(L"Quicksaved game");
     340    LOGMESSAGERENDER("Quicksaved game");
    341341
    342342}
    343343
    void CNetTurnManager::QuickLoad()  
    347347
    348348    if (m_QuickSaveState.empty())
    349349    {
    350         LOGERROR(L"Cannot quickload game - no game was quicksaved");
     350        LOGERROR("Cannot quickload game - no game was quicksaved");
    351351        return;
    352352    }
    353353
    void CNetTurnManager::QuickLoad()  
    355355    bool ok = m_Simulation2.DeserializeState(stream);
    356356    if (!ok)
    357357    {
    358         LOGERROR(L"Failed to quickload game");
     358        LOGERROR("Failed to quickload game");
    359359        return;
    360360    }
    361361
    362362    if (g_GUI && !m_QuickSaveMetadata.empty())
    363363        g_GUI->RestoreSavedGameData(m_QuickSaveMetadata);
    364364
    365     LOGMESSAGERENDER(L"Quickloaded game");
     365    LOGMESSAGERENDER("Quickloaded game");
    366366
    367367    // See RewindTimeWarp
    368368    ResetState(0, 1);
  • source/ps/CStrIntern.cpp

    diff --git a/source/ps/CStrIntern.cpp b/source/ps/CStrIntern.cpp
    index 53a5098..6d87a4c 100644
    a b public:  
    3030    CStrInternInternals(const char* str, size_t len)
    3131        : data(str, str+len), hash(fnv_hash(str, len))
    3232    {
    33 //      LOGWARNING(L"New interned string '%hs'", data.c_str());
     33//      LOGWARNING("New interned string '%hs'", data.c_str());
    3434    }
    3535
    3636    bool operator==(const CStrInternInternals& b) const
  • source/ps/ConfigDB.cpp

    diff --git a/source/ps/ConfigDB.cpp b/source/ps/ConfigDB.cpp
    index 11ce79e..17b4838 100644
    a b bool CConfigDB::Reload(EConfigNamespace ns)  
    214214        // Handle missing files quietly
    215215        if (g_VFS->GetFileInfo(m_ConfigFile[ns], NULL) < 0)
    216216        {
    217             LOGMESSAGE(L"Cannot find config file \"%ls\" - ignoring", m_ConfigFile[ns].string().c_str());
     217            LOGMESSAGE("Cannot find config file \"%ls\" - ignoring", m_ConfigFile[ns].string().c_str());
    218218            return false;
    219219        }
    220220
    221         LOGMESSAGE(L"Loading config file \"%ls\"", m_ConfigFile[ns].string().c_str());
     221        LOGMESSAGE("Loading config file \"%ls\"", m_ConfigFile[ns].string().c_str());
    222222        Status ret = g_VFS->LoadFile(m_ConfigFile[ns], buffer, buflen);
    223223        if (ret != INFO::OK)
    224224        {
    225             LOGERROR(L"CConfigDB::Reload(): vfs_load for \"%ls\" failed: return was %lld", m_ConfigFile[ns].string().c_str(), (long long)ret);
     225            LOGERROR("CConfigDB::Reload(): vfs_load for \"%ls\" failed: return was %lld", m_ConfigFile[ns].string().c_str(), (long long)ret);
    226226            return false;
    227227        }
    228228    }
    bool CConfigDB::Reload(EConfigNamespace ns)  
    256256
    257257            if (pos == filebufend || *pos == '\n')
    258258            {
    259                 LOGERROR(L"Config header with missing close tag encountered on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str());
     259                LOGERROR("Config header with missing close tag encountered on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str());
    260260                header.clear();
    261261                ++line;
    262262                continue;
    263263            }
    264264
    265             LOGMESSAGE(L"Found config header '%hs'", header.c_str());
     265            LOGMESSAGE("Found config header '%hs'", header.c_str());
    266266            header.push_back('.');
    267267            while (++pos < filebufend && *pos != '\n' && *pos != ';')
    268268                if (*pos != ' ' && *pos != '\r')
    269269                {
    270                     LOGERROR(L"Config settings on the same line as a header on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str());
     270                    LOGERROR("Config settings on the same line as a header on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str());
    271271                    break;
    272272                }
    273273            while (pos < filebufend && *pos != '\n')
    bool CConfigDB::Reload(EConfigNamespace ns)  
    288288                    {
    289289                        if (*pos == '\\' && ++pos == filebufend)
    290290                        {
    291                             LOGERROR(L"Escape character at end of input (line %d in '%ls')", line, m_ConfigFile[ns].string().c_str());
     291                            LOGERROR("Escape character at end of input (line %d in '%ls')", line, m_ConfigFile[ns].string().c_str());
    292292                            break;
    293293                        }
    294294
    bool CConfigDB::Reload(EConfigNamespace ns)  
    316316                }
    317317            }
    318318            if (quoted) // We ignore the invalid parameter
    319                 LOGERROR(L"Unmatched quote while parsing config file '%ls' on line %d", m_ConfigFile[ns].string().c_str(), line);
     319                LOGERROR("Unmatched quote while parsing config file '%ls' on line %d", m_ConfigFile[ns].string().c_str(), line);
    320320            else if (!value.empty())
    321321                values.push_back(value);
    322322            value.clear();
    bool CConfigDB::Reload(EConfigNamespace ns)  
    337337            CStr key(header + name);
    338338            newMap[key] = values;
    339339            if (key == "lobby.password")
    340                 LOGMESSAGE(L"Loaded config string \"%hs\"", key.c_str());
     340                LOGMESSAGE("Loaded config string \"%hs\"", key.c_str());
    341341            else
    342342            {
    343343                std::string vals;
    344344                for (size_t i = 0; i < newMap[key].size() - 1; ++i)
    345345                    vals += "\"" + EscapeString(newMap[key][i]) + "\", ";
    346346                vals += "\"" + EscapeString(newMap[key][values.size()-1]) + "\"";
    347                 LOGMESSAGE(L"Loaded config string \"%hs\" = %hs", key.c_str(), vals.c_str());
     347                LOGMESSAGE("Loaded config string \"%hs\" = %hs", key.c_str(), vals.c_str());
    348348            }
    349349        }
    350350        else if (!name.empty())
    351             LOGERROR(L"Encountered config setting '%hs' without value while parsing '%ls' on line %d", name.c_str(), m_ConfigFile[ns].string().c_str(), line);
     351            LOGERROR("Encountered config setting '%hs' without value while parsing '%ls' on line %d", name.c_str(), m_ConfigFile[ns].string().c_str(), line);
    352352
    353353        name.clear();
    354354        values.clear();
    bool CConfigDB::Reload(EConfigNamespace ns)  
    356356    }
    357357
    358358    if (!name.empty())
    359         LOGERROR(L"Config file does not have a new line after the last config setting '%hs'", name.c_str());
     359        LOGERROR("Config file does not have a new line after the last config setting '%hs'", name.c_str());
    360360
    361361    m_Map[ns].swap(newMap);
    362362
    bool CConfigDB::WriteFile(EConfigNamespace ns, const VfsPath& path)  
    393393    Status ret = g_VFS->CreateFile(path, buf, len);
    394394    if (ret < 0)
    395395    {
    396         LOGERROR(L"CConfigDB::WriteFile(): CreateFile \"%ls\" failed (error: %d)", path.string().c_str(), (int)ret);
     396        LOGERROR("CConfigDB::WriteFile(): CreateFile \"%ls\" failed (error: %d)", path.string().c_str(), (int)ret);
    397397        return false;
    398398    }
    399399
  • source/ps/DllLoader.cpp

    diff --git a/source/ps/DllLoader.cpp b/source/ps/DllLoader.cpp
    index ad120fb..758ba81 100644
    a b void DllLoader::LogLoadError(const char* errors)  
    196196    switch (m_LoadErrorLogMethod)
    197197    {
    198198    case CLogger::Normal:
    199         LOGMESSAGE(L"DllLoader: %hs", errors);
     199        LOGMESSAGE("DllLoader: %hs", errors);
    200200        break;
    201201    case CLogger::Warning:
    202         LOGWARNING(L"DllLoader: %hs", errors);
     202        LOGWARNING("DllLoader: %hs", errors);
    203203        break;
    204204    case CLogger::Error:
    205         LOGERROR(L"DllLoader: %hs", errors);
     205        LOGERROR("DllLoader: %hs", errors);
    206206        break;
    207207    }
    208208}
  • source/ps/FileIo.cpp

    diff --git a/source/ps/FileIo.cpp b/source/ps/FileIo.cpp
    index e06d339..c345da7 100644
    a b void CFilePacker::Write(const VfsPath& filename)  
    6969    const Status st = g_VFS->CreateFile(filename, m_writeBuffer.Data(), m_writeBuffer.Size());
    7070    if (st < 0)
    7171    {
    72         LOGERROR(L"Failed to write file '%ls' with status '%lld'", filename.string().c_str(), (long long)st);
     72        LOGERROR("Failed to write file '%ls' with status '%lld'", filename.string().c_str(), (long long)st);
    7373        throw PSERROR_File_WriteFailed();
    7474    }
    7575}
  • source/ps/Filesystem.cpp

    diff --git a/source/ps/Filesystem.cpp b/source/ps/Filesystem.cpp
    index de0ba9e..d273ce5 100644
    a b PSRETURN CVFSFile::Load(const PIVFS& vfs, const VfsPath& filename, bool log /* =  
    124124    if (ret != INFO::OK)
    125125    {
    126126        if (log)
    127             LOGERROR(L"CVFSFile: file %ls couldn't be opened (vfs_load: %lld)", filename.string().c_str(), (long long)ret);
     127            LOGERROR("CVFSFile: file %ls couldn't be opened (vfs_load: %lld)", filename.string().c_str(), (long long)ret);
    128128        m_Buffer.reset();
    129129        m_BufferSize = 0;
    130130        return PSRETURN_CVFSFile_LoadFailed;
  • source/ps/GameSetup/Config.cpp

    diff --git a/source/ps/GameSetup/Config.cpp b/source/ps/GameSetup/Config.cpp
    index 0f18291..67fc7b2 100644
    a b static void LoadGlobals()  
    131131    CFG_GET_VAL("profiler2.script.enable", g_ScriptProfilingEnabled);
    132132
    133133    if (g_JSDebuggerEnabled)
    134         LOGERROR(L"JS debugger temporarily disabled during the SpiderMonkey upgrade (check trac ticket #2348 for details)");
     134        LOGERROR("JS debugger temporarily disabled during the SpiderMonkey upgrade (check trac ticket #2348 for details)");
    135135    // Script Debugging and profiling does not make sense together because of the hooks
    136136    // that reduce performance a lot - and it wasn't tested if it even works together.
    137137    if (g_JSDebuggerEnabled && g_ScriptProfilingEnabled)
    138         LOGERROR(L"Enabling both script profiling and script debugging is not supported!");
     138        LOGERROR("Enabling both script profiling and script debugging is not supported!");
    139139}
    140140
    141141
  • source/ps/GameSetup/GameSetup.cpp

    diff --git a/source/ps/GameSetup/GameSetup.cpp b/source/ps/GameSetup/GameSetup.cpp
    index 3709648..dac6867 100644
    a b void Render()  
    293293#warning TODO: cursors for Android
    294294#else
    295295            if (cursor_draw(g_VFS, cursorName.c_str(), g_mouse_x, g_yres-g_mouse_y, forceGL) < 0)
    296                 LOGWARNING(L"Failed to draw cursor '%ls'", cursorName.c_str());
     296                LOGWARNING("Failed to draw cursor '%ls'", cursorName.c_str());
    297297#endif
    298298
    299299#if CONFIG2_GLES
    static void InitSDL()  
    656656
    657657    if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_NOPARACHUTE) < 0)
    658658    {
    659         LOGERROR(L"SDL library initialization failed: %hs", SDL_GetError());
     659        LOGERROR("SDL library initialization failed: %hs", SDL_GetError());
    660660        throw PSERROR_System_SDLInitFailed();
    661661    }
    662662    atexit(SDL_Quit);
    static void FixLocales()  
    814814    }
    815815    catch (std::runtime_error&)
    816816    {
    817         LOGWARNING(L"Invalid locale settings");
     817        LOGWARNING("Invalid locale settings");
    818818
    819819        for (size_t i = 0; i < ARRAY_SIZE(LocaleEnvVars); i++)
    820820        {
    821821            if (char* envval = getenv(LocaleEnvVars[i]))
    822                 LOGWARNING(L"  %hs=\"%hs\"", LocaleEnvVars[i], envval);
     822                LOGWARNING("  %hs=\"%hs\"", LocaleEnvVars[i], envval);
    823823            else
    824                 LOGWARNING(L"  %hs=\"(unset)\"", LocaleEnvVars[i]);
     824                LOGWARNING("  %hs=\"(unset)\"", LocaleEnvVars[i]);
    825825        }
    826826
    827827        // We should set LC_ALL since it overrides LANG
    828828        if (setenv("LC_ALL", std::locale::classic().name().c_str(), 1))
    829829            debug_warn(L"Invalid locale settings, and unable to set LC_ALL env variable.");
    830830        else
    831             LOGWARNING(L"Setting LC_ALL env variable to: %hs", getenv("LC_ALL"));
     831            LOGWARNING("Setting LC_ALL env variable to: %hs", getenv("LC_ALL"));
    832832    }
    833833}
    834834#else
    CStr8 LoadSettingsOfScenarioMap(const VfsPath &mapPath)  
    11321132
    11331133    if (INFO::OK != loadResult)
    11341134    {
    1135         LOGERROR(L"LoadSettingsOfScenarioMap: Unable to load map file '%ls'", mapPath.string().c_str());
     1135        LOGERROR("LoadSettingsOfScenarioMap: Unable to load map file '%ls'", mapPath.string().c_str());
    11361136        throw PSERROR_Game_World_MapLoadFailed("Unable to load map file, check the path for typos.");
    11371137    }
    11381138    XMBElement mapElement = mapFile.GetRoot();
    bool Autostart(const CmdLineArgs& args)  
    12461246        else
    12471247        {
    12481248            // Problem with JSON file
    1249             LOGERROR(L"Autostart: Error reading random map script '%ls'", scriptPath.c_str());
     1249            LOGERROR("Autostart: Error reading random map script '%ls'", scriptPath.c_str());
    12501250            throw PSERROR_Game_World_MapLoadFailed("Error reading random map script.\nCheck application log for details.");
    12511251        }
    12521252
    bool Autostart(const CmdLineArgs& args)  
    13011301    }
    13021302    else
    13031303    {
    1304         LOGERROR(L"Autostart: Unrecognized map type '%ls'", mapDirectory.c_str());
     1304        LOGERROR("Autostart: Unrecognized map type '%ls'", mapDirectory.c_str());
    13051305        throw PSERROR_Game_World_MapLoadFailed("Unrecognized map type.\nConsult readme.txt for the currently supported types.");
    13061306    }
    13071307    scriptInterface.SetProperty(attrs, "mapType", mapType);
    bool Autostart(const CmdLineArgs& args)  
    13361336                if (mapDirectory == L"scenarios" || mapDirectory == L"skirmishes")
    13371337                {
    13381338                    // playerID is certainly bigger than this map player number
    1339                     LOGWARNING(L"Autostart: Invalid player %d in autostart-ai option", playerID);
     1339                    LOGWARNING("Autostart: Invalid player %d in autostart-ai option", playerID);
    13401340                    continue;
    13411341                }
    13421342                scriptInterface.Eval("({})", &player);
    bool Autostart(const CmdLineArgs& args)  
    13631363                if (mapDirectory == L"scenarios" || mapDirectory == L"skirmishes")
    13641364                {
    13651365                    // playerID is certainly bigger than this map player number
    1366                     LOGWARNING(L"Autostart: Invalid player %d in autostart-aidiff option", playerID);
     1366                    LOGWARNING("Autostart: Invalid player %d in autostart-aidiff option", playerID);
    13671367                    continue;
    13681368                }
    13691369                scriptInterface.Eval("({})", &player);
    bool Autostart(const CmdLineArgs& args)  
    13911391                    if (mapDirectory == L"skirmishes")
    13921392                    {
    13931393                        // playerID is certainly bigger than this map player number
    1394                         LOGWARNING(L"Autostart: Invalid player %d in autostart-civ option", playerID);
     1394                        LOGWARNING("Autostart: Invalid player %d in autostart-civ option", playerID);
    13951395                        continue;
    13961396                    }
    13971397                    scriptInterface.Eval("({})", &player);
    bool Autostart(const CmdLineArgs& args)  
    14031403            }
    14041404        }
    14051405        else
    1406             LOGWARNING(L"Autostart: Option 'autostart-civ' is invalid for scenarios");
     1406            LOGWARNING("Autostart: Option 'autostart-civ' is invalid for scenarios");
    14071407    }
    14081408
    14091409    // Add player data to map settings
  • source/ps/GameSetup/HWDetect.cpp

    diff --git a/source/ps/GameSetup/HWDetect.cpp b/source/ps/GameSetup/HWDetect.cpp
    index 4d7668a..97276f7 100644
    a b void RunHardwareDetection()  
    203203    CVFSFile file;
    204204    if (file.Load(g_VFS, scriptName) != PSRETURN_OK)
    205205    {
    206         LOGERROR(L"Failed to load hardware detection script");
     206        LOGERROR("Failed to load hardware detection script");
    207207        return;
    208208    }
    209209
  • source/ps/GameSetup/Paths.cpp

    diff --git a/source/ps/GameSetup/Paths.cpp b/source/ps/GameSetup/Paths.cpp
    index 7d9883e..aeeca95 100644
    a b Paths::Paths(const CmdLineArgs& args)  
    172172    // make sure it's valid
    173173    if(!FileExists(pathname))
    174174    {
    175         LOGERROR(L"Cannot find executable (expected at '%ls')", pathname.string().c_str());
     175        LOGERROR("Cannot find executable (expected at '%ls')", pathname.string().c_str());
    176176        WARN_IF_ERR(StatusFromErrno());
    177177    }
    178178
  • source/ps/Hotkey.cpp

    diff --git a/source/ps/Hotkey.cpp b/source/ps/Hotkey.cpp
    index 22ceeba..cd7730b 100644
    a b static void LoadConfigBindings()  
    8383                int mapping = FindKeyCode(*it);
    8484                if (!mapping)
    8585                {
    86                     LOGWARNING(L"Hotkey mapping used invalid key '%hs'", hotkey.c_str());
     86                    LOGWARNING("Hotkey mapping used invalid key '%hs'", hotkey.c_str());
    8787                    continue;
    8888                }
    8989
  • source/ps/Joystick.cpp

    diff --git a/source/ps/Joystick.cpp b/source/ps/Joystick.cpp
    index 2950620..3fa207a 100644
    a b void CJoystick::Initialise()  
    4141
    4242    if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0)
    4343    {
    44         LOGERROR(L"CJoystick::Initialise failed to initialise joysticks (\"%hs\")", SDL_GetError());
     44        LOGERROR("CJoystick::Initialise failed to initialise joysticks (\"%hs\")", SDL_GetError());
    4545        return;
    4646    }
    4747
    4848    int numJoysticks = SDL_NumJoysticks();
    4949
    50     LOGMESSAGE(L"Found %d joystick(s)", numJoysticks);
     50    LOGMESSAGE("Found %d joystick(s)", numJoysticks);
    5151
    5252    for (int i = 0; i < numJoysticks; ++i)
    5353    {
    void CJoystick::Initialise()  
    5555        SDL_Joystick* stick = SDL_JoystickOpen(i);
    5656        if (!stick)
    5757        {
    58             LOGERROR(L"CJoystick::Initialise failed to open joystick %d (\"%hs\")", i, SDL_GetError());
     58            LOGERROR("CJoystick::Initialise failed to open joystick %d (\"%hs\")", i, SDL_GetError());
    5959            continue;
    6060        }
    6161        const char* name = SDL_JoystickName(stick);
    6262#else // SDL 1.2
    6363        const char* name = SDL_JoystickName(i);
    6464#endif
    65         LOGMESSAGE(L"Joystick %d: %hs", i, name);
     65        LOGMESSAGE("Joystick %d: %hs", i, name);
    6666#if SDL_VERSION_ATLEAST(2, 0, 0)
    6767        SDL_JoystickClose(stick);
    6868#endif
    void CJoystick::Initialise()  
    7575        // Always pick the first joystick, and assume that's the right one
    7676        m_Joystick = SDL_JoystickOpen(0);
    7777        if (!m_Joystick)
    78             LOGERROR(L"CJoystick::Initialise failed to open joystick (\"%hs\")", SDL_GetError());
     78            LOGERROR("CJoystick::Initialise failed to open joystick (\"%hs\")", SDL_GetError());
    7979    }
    8080}
    8181
  • source/ps/Overlay.cpp

    diff --git a/source/ps/Overlay.cpp b/source/ps/Overlay.cpp
    index f09d3d2..a7e90aa 100644
    a b bool CColor::ParseString(const CStr8& Value, int DefaultAlpha)  
    4848        stream >> values[i];
    4949        if ((stream.rdstate() & std::stringstream::failbit) != 0)
    5050        {
    51             LOGWARNING(L"Unable to parse CColor parameters. Your input: '%hs'", Value.c_str());
     51            LOGWARNING("Unable to parse CColor parameters. Your input: '%hs'", Value.c_str());
    5252            return false;
    5353        }
    5454        if (values[i] < 0 || values[i] > 255)
    5555        {
    56             LOGWARNING(L"Invalid value (<0 or >255) when parsing CColor parameters. Your input: '%hs'", Value.c_str());
     56            LOGWARNING("Invalid value (<0 or >255) when parsing CColor parameters. Your input: '%hs'", Value.c_str());
    5757            return false;
    5858        }
    5959    }
    6060
    6161    if (i < 3)
    6262    {
    63         LOGWARNING(L"Not enough parameters when parsing as CColor. Your input: '%hs'", Value.c_str());
     63        LOGWARNING("Not enough parameters when parsing as CColor. Your input: '%hs'", Value.c_str());
    6464        return false;
    6565    }
    6666    if (!stream.eof())
    6767    {
    68         LOGWARNING(L"Too many parameters when parsing as CColor. Your input: '%hs'", Value.c_str());
     68        LOGWARNING("Too many parameters when parsing as CColor. Your input: '%hs'", Value.c_str());
    6969        return false;
    7070    }
    7171
  • source/ps/Preprocessor.cpp

    diff --git a/source/ps/Preprocessor.cpp b/source/ps/Preprocessor.cpp
    index d7c228d..7821423 100644
    a b static void DefaultError (void *iData, int iLine, const char *iError,  
    231231{
    232232    (void)iData;
    233233    if (iToken)
    234         LOGERROR(L"Preprocessor error: line %d: %hs: '%.*hs'\n",
     234        LOGERROR("Preprocessor error: line %d: %hs: '%.*hs'\n",
    235235                  iLine, iError, int (iTokenLen), iToken);
    236236    else
    237         LOGERROR(L"Preprocessor error: line %d: %hs\n", iLine, iError);
     237        LOGERROR("Preprocessor error: line %d: %hs\n", iLine, iError);
    238238}
    239239
    240240//---------------------------------------------------------------------------//
  • source/ps/PreprocessorWrapper.cpp

    diff --git a/source/ps/PreprocessorWrapper.cpp b/source/ps/PreprocessorWrapper.cpp
    index 720edb1..096d284 100644
    a b bool CPreprocessorWrapper::TestConditional(const CStr& expr)  
    5151
    5252    if (!output)
    5353    {
    54         LOGERROR(L"Failed to parse conditional expression '%hs'", expr.c_str());
     54        LOGERROR("Failed to parse conditional expression '%hs'", expr.c_str());
    5555        return false;
    5656    }
    5757
    CStr CPreprocessorWrapper::Preprocess(const CStr& input)  
    7272
    7373    if (!output)
    7474    {
    75         LOGERROR(L"Shader preprocessing failed");
     75        LOGERROR("Shader preprocessing failed");
    7676        return "";
    7777    }
    7878
  • source/ps/ProfileViewer.cpp

    diff --git a/source/ps/ProfileViewer.cpp b/source/ps/ProfileViewer.cpp
    index e976e90..fe6fdab 100644
    a b void CProfileViewer::SaveToFile()  
    570570
    571571        if (m->outputStream.fail())
    572572        {
    573             LOGERROR(L"Failed to open profile log file");
     573            LOGERROR("Failed to open profile log file");
    574574            return;
    575575        }
    576576        else
    577577        {
    578             LOGMESSAGERENDER(L"Profiler snapshot saved to '%ls'", path.string().c_str());
     578            LOGMESSAGERENDER("Profiler snapshot saved to '%ls'", path.string().c_str());
    579579        }
    580580    }
    581581
  • source/ps/Profiler2.cpp

    diff --git a/source/ps/Profiler2.cpp b/source/ps/Profiler2.cpp
    index ae49b0c..d989e42 100644
    a b static void* MgCallback(mg_event event, struct mg_connection *conn, const struct  
    126126
    127127    case MG_EVENT_LOG:
    128128        // Called by Mongoose's cry()
    129         LOGERROR(L"Mongoose error: %hs", request_info->log_message);
     129        LOGERROR("Mongoose error: %hs", request_info->log_message);
    130130        return NULL;
    131131
    132132    case MG_INIT_SSL:
    void CProfiler2::InitialiseGPU()  
    157157void CProfiler2::EnableHTTP()
    158158{
    159159    ENSURE(m_Initialised);
    160     LOGMESSAGERENDER(L"Starting profiler2 HTTP server");
     160    LOGMESSAGERENDER("Starting profiler2 HTTP server");
    161161
    162162    // Ignore multiple enablings
    163163    if (m_MgContext)
    void CProfiler2::EnableGPU()  
    177177    ENSURE(m_Initialised);
    178178    if (!m_GPU)
    179179    {
    180         LOGMESSAGERENDER(L"Starting profiler2 GPU mode");
     180        LOGMESSAGERENDER("Starting profiler2 GPU mode");
    181181        InitialiseGPU();
    182182    }
    183183}
    184184
    185185void CProfiler2::ShutdownGPU()
    186186{
    187     LOGMESSAGERENDER(L"Shutting down profiler2 GPU mode");
     187    LOGMESSAGERENDER("Shutting down profiler2 GPU mode");
    188188    SAFE_DELETE(m_GPU);
    189189}
    190190
    191191void CProfiler2::ShutDownHTTP()
    192192{
    193     LOGMESSAGERENDER(L"Shutting down profiler2 HTTP server");
     193    LOGMESSAGERENDER("Shutting down profiler2 HTTP server");
    194194    if (m_MgContext)
    195195    {
    196196        mg_stop(m_MgContext);
  • source/ps/SavedGame.cpp

    diff --git a/source/ps/SavedGame.cpp b/source/ps/SavedGame.cpp
    index 007dcb2..7bc32af 100644
    a b std::vector<CScriptValRooted> SavedGames::GetSavedGames(ScriptInterface& scriptI  
    244244        if (!archiveReader)
    245245        {
    246246            // Triggered by e.g. the file being open in another program
    247             LOGWARNING(L"Failed to read saved game '%ls'", realPath.string().c_str());
     247            LOGWARNING("Failed to read saved game '%ls'", realPath.string().c_str());
    248248            continue; // skip this file
    249249        }
    250250
  • source/ps/TemplateLoader.cpp

    diff --git a/source/ps/TemplateLoader.cpp b/source/ps/TemplateLoader.cpp
    index d2e8345..67029d6 100644
    a b bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    3939    // Handle infinite loops more gracefully than running out of stack space and crashing
    4040    if (depth > 100)
    4141    {
    42         LOGERROR(L"Probable infinite inheritance loop in entity template '%hs'", templateName.c_str());
     42        LOGERROR("Probable infinite inheritance loop in entity template '%hs'", templateName.c_str());
    4343        return false;
    4444    }
    4545
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    5757        std::string baseName = templateName.substr(8);
    5858        if (!LoadTemplateFile(baseName, depth+1))
    5959        {
    60             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     60            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    6161            return false;
    6262        }
    6363        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    7272        std::string baseName = templateName.substr(7);
    7373        if (!LoadTemplateFile(baseName, depth+1))
    7474        {
    75             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     75            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    7676            return false;
    7777        }
    7878        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    8787        std::string baseName = templateName.substr(7);
    8888        if (!LoadTemplateFile(baseName, depth+1))
    8989        {
    90             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     90            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    9191            return false;
    9292        }
    9393        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    102102        std::string baseName = templateName.substr(11);
    103103        if (!LoadTemplateFile(baseName, depth+1))
    104104        {
    105             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     105            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    106106            return false;
    107107        }
    108108        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    117117        std::string baseName = templateName.substr(13);
    118118        if (!LoadTemplateFile(baseName, depth+1))
    119119        {
    120             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     120            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    121121            return false;
    122122        }
    123123        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    132132        std::string baseName = templateName.substr(9);
    133133        if (!LoadTemplateFile(baseName, depth+1))
    134134        {
    135             LOGERROR(L"Failed to load entity template '%hs'", baseName.c_str());
     135            LOGERROR("Failed to load entity template '%hs'", baseName.c_str());
    136136            return false;
    137137        }
    138138        // Copy a subset to the requested template
    bool CTemplateLoader::LoadTemplateFile(const std::string& templateName, int dept  
    155155        // To prevent needless complexity in template design, we don't allow |-separated strings as parents
    156156        if (parentName.find('|') != parentName.npos)
    157157        {
    158             LOGERROR(L"Invalid parent '%hs' in entity template '%hs'", parentName.c_str(), templateName.c_str());
     158            LOGERROR("Invalid parent '%hs' in entity template '%hs'", parentName.c_str(), templateName.c_str());
    159159            return false;
    160160        }
    161161
    162162        // Ensure the parent is loaded
    163163        if (!LoadTemplateFile(parentName, depth+1))
    164164        {
    165             LOGERROR(L"Failed to load parent '%hs' of entity template '%hs'", parentName.c_str(), templateName.c_str());
     165            LOGERROR("Failed to load parent '%hs' of entity template '%hs'", parentName.c_str(), templateName.c_str());
    166166            return false;
    167167        }
    168168
    std::vector<std::string> CTemplateLoader::FindPlaceableTemplates(const std::stri  
    272272    }
    273273
    274274    if (templatesType != SIMULATION_TEMPLATES && templatesType != ACTOR_TEMPLATES && templatesType != ALL_TEMPLATES)
    275         LOGERROR(L"Undefined template type (valid: all, simulation, actor)");
     275        LOGERROR("Undefined template type (valid: all, simulation, actor)");
    276276
    277277    return templates;
    278278}
    std::vector<std::string> CTemplateLoader::FindTemplates(const std::string& path,  
    304304    }
    305305
    306306    if (templatesType != SIMULATION_TEMPLATES && templatesType != ACTOR_TEMPLATES && templatesType != ALL_TEMPLATES)
    307         LOGERROR(L"Undefined template type (valid: all, simulation, actor)");
     307        LOGERROR("Undefined template type (valid: all, simulation, actor)");
    308308
    309309    return templates;
    310310}
    const CParamNode& CTemplateLoader::GetTemplateFileData(const std::string& templa  
    314314    // Load the template if necessary
    315315    if (!LoadTemplateFile(templateName, 0))
    316316    {
    317         LOGERROR(L"Failed to load entity template '%hs'", templateName.c_str());
     317        LOGERROR("Failed to load entity template '%hs'", templateName.c_str());
    318318        return NULL_NODE;
    319319    }
    320320
    void CTemplateLoader::ConstructTemplateActor(const std::string& actorName, CPara  
    327327    const char* templateName = "special/actor";
    328328    if (!LoadTemplateFile(templateName, 0))
    329329    {
    330         LOGERROR(L"Failed to load entity template '%hs'", templateName);
     330        LOGERROR("Failed to load entity template '%hs'", templateName);
    331331        return;
    332332    }
    333333
  • source/ps/Util.cpp

    diff --git a/source/ps/Util.cpp b/source/ps/Util.cpp
    index 3817112..62f2897 100644
    a b void WriteScreenshot(const VfsPath& extension)  
    244244        LOGMESSAGERENDER(wstring_from_utf8(g_L10n.Translate("Screenshot written to '%ls'")).c_str(), realPath.string().c_str());
    245245    }
    246246    else
    247         LOGERROR(L"Error writing screenshot to '%ls'", filename.string().c_str());
     247        LOGERROR("Error writing screenshot to '%ls'", filename.string().c_str());
    248248}
    249249
    250250
    void WriteBigScreenshot(const VfsPath& extension, int tiles)  
    377377        LOGMESSAGERENDER(wstring_from_utf8(g_L10n.Translate("Screenshot written to '%ls'")).c_str(), realPath.string().c_str());
    378378    }
    379379    else
    380         LOGERROR(L"Error writing screenshot to '%ls'", filename.string().c_str());
     380        LOGERROR("Error writing screenshot to '%ls'", filename.string().c_str());
    381381
    382382    free(tile_data);
    383383}
  • source/ps/VideoMode.cpp

    diff --git a/source/ps/VideoMode.cpp b/source/ps/VideoMode.cpp
    index 7ff6870..626ca22 100644
    a b bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    8888            // If fullscreen fails, try windowed mode
    8989            if (fullscreen)
    9090            {
    91                 LOGWARNING(L"Failed to set the video mode to fullscreen for the chosen resolution "
     91                LOGWARNING("Failed to set the video mode to fullscreen for the chosen resolution "
    9292                    L"%dx%d:%d (\"%hs\"), falling back to windowed mode",
    9393                    w, h, bpp, SDL_GetError());
    9494                // Using default size for the window for now, as the attempted setting
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    9797            }
    9898            else
    9999            {
    100                 LOGERROR(L"SetVideoMode failed in SDL_CreateWindow: %dx%d:%d %d (\"%hs\")",
     100                LOGERROR("SetVideoMode failed in SDL_CreateWindow: %dx%d:%d %d (\"%hs\")",
    101101                    w, h, bpp, fullscreen ? 1 : 0, SDL_GetError());
    102102                return false;
    103103            }
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    105105
    106106        if (SDL_SetWindowDisplayMode(m_Window, NULL) < 0)
    107107        {
    108             LOGERROR(L"SetVideoMode failed in SDL_SetWindowDisplayMode: %dx%d:%d %d (\"%hs\")",
     108            LOGERROR("SetVideoMode failed in SDL_SetWindowDisplayMode: %dx%d:%d %d (\"%hs\")",
    109109                w, h, bpp, fullscreen ? 1 : 0, SDL_GetError());
    110110            return false;
    111111        }
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    113113        SDL_GLContext context = SDL_GL_CreateContext(m_Window);
    114114        if (!context)
    115115        {
    116             LOGERROR(L"SetVideoMode failed in SDL_GL_CreateContext: %dx%d:%d %d (\"%hs\")",
     116            LOGERROR("SetVideoMode failed in SDL_GL_CreateContext: %dx%d:%d %d (\"%hs\")",
    117117                w, h, bpp, fullscreen ? 1 : 0, SDL_GetError());
    118118            return false;
    119119        }
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    132132
    133133            if (SDL_SetWindowFullscreen(m_Window, flags) < 0)
    134134            {
    135                 LOGERROR(L"SetVideoMode failed in SDL_SetWindowFullscreen: %dx%d:%d %d (\"%hs\")",
     135                LOGERROR("SetVideoMode failed in SDL_SetWindowFullscreen: %dx%d:%d %d (\"%hs\")",
    136136                    w, h, bpp, fullscreen ? 1 : 0, SDL_GetError());
    137137                return false;
    138138            }
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    172172        // If fullscreen fails, try windowed mode
    173173        if (fullscreen)
    174174        {
    175             LOGWARNING(L"Failed to set the video mode to fullscreen for the chosen resolution "
     175            LOGWARNING("Failed to set the video mode to fullscreen for the chosen resolution "
    176176                L"%dx%d:%d (\"%hs\"), falling back to windowed mode",
    177177                w, h, bpp, SDL_GetError());
    178178            // Using default size for the window for now, as the attempted setting
    bool CVideoMode::SetVideoMode(int w, int h, int bpp, bool fullscreen)  
    181181        }
    182182        else
    183183        {
    184             LOGERROR(L"SetVideoMode failed: %dx%d:%d %d (\"%hs\")",
     184            LOGERROR("SetVideoMode failed: %dx%d:%d %d (\"%hs\")",
    185185                w, h, bpp, fullscreen ? 1 : 0, SDL_GetError());
    186186            return false;
    187187        }
    bool CVideoMode::InitSDL()  
    294294    u16 ramp[256];
    295295    SDL_CalculateGammaRamp(g_Gamma, ramp);
    296296    if (SDL_SetWindowGammaRamp(m_Window, ramp, ramp, ramp) < 0)
    297         LOGWARNING(L"SDL_SetWindowGammaRamp failed");
     297        LOGWARNING("SDL_SetWindowGammaRamp failed");
    298298#else
    299299# if OS_MACOSX
    300300    // Workaround for crash on Mavericks, see http://trac.wildfiregames.com/ticket/2272
    bool CVideoMode::InitSDL()  
    304304    {
    305305# endif
    306306    if (SDL_SetGamma(g_Gamma, g_Gamma, g_Gamma) < 0)
    307         LOGWARNING(L"SDL_SetGamma failed");
     307        LOGWARNING("SDL_SetGamma failed");
    308308# if OS_MACOSX
    309309    }
    310310# endif
  • source/ps/World.cpp

    diff --git a/source/ps/World.cpp b/source/ps/World.cpp
    index 879825d..12de4d0 100644
    a b void CWorld::RegisterInit(const CStrW& mapFile, const CScriptValRooted& settings  
    8989        catch (PSERROR_File& err)
    9090        {
    9191            delete reader;
    92             LOGERROR(L"Failed to load map %ls: %hs", mapfilename.string().c_str(), err.what());
     92            LOGERROR("Failed to load map %ls: %hs", mapfilename.string().c_str(), err.what());
    9393            throw PSERROR_Game_World_MapLoadFailed("Failed to load map.\nCheck application log for details.");
    9494        }
    9595    }
  • source/ps/XML/RelaxNG.cpp

    diff --git a/source/ps/XML/RelaxNG.cpp b/source/ps/XML/RelaxNG.cpp
    index 8a63869..57d6344 100644
    a b public:  
    4646        xmlRelaxNGFreeParserCtxt(ctxt);
    4747
    4848        if (m_Schema == NULL)
    49             LOGERROR(L"RelaxNGValidator: Failed to compile schema");
     49            LOGERROR("RelaxNGValidator: Failed to compile schema");
    5050    }
    5151
    5252    ~RelaxNGSchema()
    bool RelaxNGValidator::ValidateEncoded(const std::wstring& filename, const std::  
    108108
    109109    if (!m_Schema)
    110110    {
    111         LOGERROR(L"RelaxNGValidator: No grammar loaded");
     111        LOGERROR("RelaxNGValidator: No grammar loaded");
    112112        return false;
    113113    }
    114114
    115115    xmlDocPtr doc = xmlReadMemory(document.c_str(), (int)document.size(), utf8_from_wstring(filename).c_str(), NULL, XML_PARSE_NONET);
    116116    if (doc == NULL)
    117117    {
    118         LOGERROR(L"RelaxNGValidator: Failed to parse document");
     118        LOGERROR("RelaxNGValidator: Failed to parse document");
    119119        return false;
    120120    }
    121121
    bool RelaxNGValidator::ValidateEncoded(const std::wstring& filename, const std::  
    130130    }
    131131    else if (ret > 0)
    132132    {
    133         LOGERROR(L"RelaxNGValidator: Validation failed");
     133        LOGERROR("RelaxNGValidator: Validation failed");
    134134        return false;
    135135    }
    136136    else
    137137    {
    138         LOGERROR(L"RelaxNGValidator: Internal error %d", ret);
     138        LOGERROR("RelaxNGValidator: Internal error %d", ret);
    139139        return false;
    140140    }
    141141}
  • source/ps/XML/XMLWriter.cpp

    diff --git a/source/ps/XML/XMLWriter.cpp b/source/ps/XML/XMLWriter.cpp
    index e77ce17..ea99187 100644
    a b bool XMLWriter_File::StoreVFS(const PIVFS& vfs, const VfsPath& pathname)  
    102102    Status ret = vfs->CreateFile(pathname, data, size);
    103103    if (ret < 0)
    104104    {
    105         LOGERROR(L"Error saving XML data through VFS: %lld '%ls'", (long long)ret, pathname.string().c_str());
     105        LOGERROR("Error saving XML data through VFS: %lld '%ls'", (long long)ret, pathname.string().c_str());
    106106        return false;
    107107    }
    108108    return true;
  • source/ps/XML/Xeromyces.cpp

    diff --git a/source/ps/XML/Xeromyces.cpp b/source/ps/XML/Xeromyces.cpp
    index e7b2e57..61fd869 100644
    a b static void errorHandler(void* UNUSED(userData), xmlErrorPtr error)  
    3838    if (message.length() > 0 && message[message.length()-1] == '\n')
    3939        message.erase(message.length()-1);
    4040
    41     LOGERROR(L"CXeromyces: Parse %ls: %hs:%d: %hs",
     41    LOGERROR("CXeromyces: Parse %ls: %hs:%d: %hs",
    4242        error->level == XML_ERR_WARNING ? L"warning" : L"error",
    4343        error->file, error->line, message.c_str());
    4444    // TODO: The (non-fatal) warnings and errors don't get stored in the XMB,
    PSRETURN CXeromyces::Load(const PIVFS& vfs, const VfsPath& filename)  
    8989
    9090        // No source file or archive cache was found, so we can't load the
    9191        // XML file at all
    92         LOGERROR(L"CCacheLoader failed to find archived or source file for: \"%ls\"", filename.string().c_str());
     92        LOGERROR("CCacheLoader failed to find archived or source file for: \"%ls\"", filename.string().c_str());
    9393        return PSRETURN_Xeromyces_XMLOpenFailed;
    9494    }
    9595
    PSRETURN CXeromyces::ConvertFile(const PIVFS& vfs, const VfsPath& filename, cons  
    111111    CVFSFile input;
    112112    if (input.Load(vfs, filename))
    113113    {
    114         LOGERROR(L"CXeromyces: Failed to open XML file %ls", filename.string().c_str());
     114        LOGERROR("CXeromyces: Failed to open XML file %ls", filename.string().c_str());
    115115        return PSRETURN_Xeromyces_XMLOpenFailed;
    116116    }
    117117
    PSRETURN CXeromyces::ConvertFile(const PIVFS& vfs, const VfsPath& filename, cons  
    120120        filename8.c_str(), NULL, XML_PARSE_NONET|XML_PARSE_NOCDATA);
    121121    if (! doc)
    122122    {
    123         LOGERROR(L"CXeromyces: Failed to parse XML file %ls", filename.string().c_str());
     123        LOGERROR("CXeromyces: Failed to parse XML file %ls", filename.string().c_str());
    124124        return PSRETURN_Xeromyces_XMLParseError;
    125125    }
    126126
    PSRETURN CXeromyces::LoadString(const char* xml)  
    167167    xmlDocPtr doc = xmlReadMemory(xml, (int)strlen(xml), "", NULL, XML_PARSE_NONET|XML_PARSE_NOCDATA);
    168168    if (! doc)
    169169    {
    170         LOGERROR(L"CXeromyces: Failed to parse XML string");
     170        LOGERROR("CXeromyces: Failed to parse XML string");
    171171        return PSRETURN_Xeromyces_XMLParseError;
    172172    }
    173173
  • source/ps/scripting/JSInterface_ConfigDB.cpp

    diff --git a/source/ps/scripting/JSInterface_ConfigDB.cpp b/source/ps/scripting/JSInterface_ConfigDB.cpp
    index 43c6a4d..319db0e 100644
    a b bool JSI_ConfigDB::GetConfigNamespace(std::wstring cfgNsString, EConfigNamespace  
    3535        cfgNs = CFG_MOD;
    3636    else
    3737    {
    38         LOGERROR(L"Invalid namespace name passed to the ConfigDB!");
     38        LOGERROR("Invalid namespace name passed to the ConfigDB!");
    3939        cfgNs = CFG_DEFAULT;
    4040        return false;       
    4141    }
  • source/ps/scripting/JSInterface_Console.cpp

    diff --git a/source/ps/scripting/JSInterface_Console.cpp b/source/ps/scripting/JSInterface_Console.cpp
    index bc7ab85..d65d9a9 100644
    a b bool JSI_Console::CheckGlobalInitialized()  
    2626{   
    2727    if (!g_Console)
    2828    {
    29         LOGERROR(L"Trying to access the console when it's not initialized!");
     29        LOGERROR("Trying to access the console when it's not initialized!");
    3030        return false;
    3131    }
    3232    return true;
  • source/ps/scripting/JSInterface_VFS.cpp

    diff --git a/source/ps/scripting/JSInterface_VFS.cpp b/source/ps/scripting/JSInterface_VFS.cpp
    index ccc804b..bf74daf 100644
    a b  
    3636    }\
    3737    /* unknown failure. We output an error message. */\
    3838    else if (err < 0)\
    39         LOGERROR(L"Unknown failure in VFS %i", err );
     39        LOGERROR("Unknown failure in VFS %i", err );
    4040    /* else: success */
    4141
    4242
  • source/renderer/DecalRData.cpp

    diff --git a/source/renderer/DecalRData.cpp b/source/renderer/DecalRData.cpp
    index 0c85902..62c565b 100644
    a b void CDecalRData::RenderDecals(std::vector<CDecalRData*>& decals, const CShaderD  
    8484       
    8585        if (material.GetShaderEffect().length() == 0)
    8686        {
    87             LOGERROR(L"Terrain renderer failed to load shader effect.\n");
     87            LOGERROR("Terrain renderer failed to load shader effect.\n");
    8888            continue;
    8989        }
    9090       
    void CDecalRData::RenderDecals(std::vector<CDecalRData*>& decals, const CShaderD  
    9898           
    9999            if (!techBase)
    100100            {
    101                 LOGERROR(L"Terrain renderer failed to load shader effect (%hs)\n",         
     101                LOGERROR("Terrain renderer failed to load shader effect (%hs)\n",           
    102102                        material.GetShaderEffect().string().c_str());
    103103                continue;
    104104            }
  • source/renderer/ModelRenderer.cpp

    diff --git a/source/renderer/ModelRenderer.cpp b/source/renderer/ModelRenderer.cpp
    index 3737f61..03e621a 100644
    a b void ModelRenderer::BuildPositionAndNormals(  
    9898        // some broken situations
    9999        if (numVertices && vertices[0].m_Blend.m_Bone[0] == 0xff)
    100100        {
    101             LOGERROR(L"Model %ls is boned with unboned animation", mdef->GetName().string().c_str());
     101            LOGERROR("Model %ls is boned with unboned animation", mdef->GetName().string().c_str());
    102102            return;
    103103        }
    104104
  • source/renderer/PatchRData.cpp

    diff --git a/source/renderer/PatchRData.cpp b/source/renderer/PatchRData.cpp
    index c8c5553..2604567 100644
    a b void CPatchRData::RenderBases(const std::vector<CPatchRData*>& patches, const CS  
    766766        {
    767767            if (itt->first->GetMaterial().GetShaderEffect().length() == 0)
    768768            {
    769                 LOGERROR(L"Terrain renderer failed to load shader effect.\n");
     769                LOGERROR("Terrain renderer failed to load shader effect.\n");
    770770                continue;
    771771            }
    772772                       
  • source/renderer/PostprocManager.cpp

    diff --git a/source/renderer/PostprocManager.cpp b/source/renderer/PostprocManager.cpp
    index 0dadb89..4d4bf7b 100644
    a b void CPostprocManager::RecreateBuffers()  
    159159    GLenum status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    160160    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    161161    {
    162         LOGWARNING(L"Framebuffer object incomplete (A): 0x%04X", status);
     162        LOGWARNING("Framebuffer object incomplete (A): 0x%04X", status);
    163163    }
    164164   
    165165    pglGenFramebuffersEXT(1, &m_PongFbo);
    void CPostprocManager::RecreateBuffers()  
    174174    status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    175175    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    176176    {
    177         LOGWARNING(L"Framebuffer object incomplete (B): 0x%04X", status);
     177        LOGWARNING("Framebuffer object incomplete (B): 0x%04X", status);
    178178    }
    179179   
    180180    pglGenFramebuffersEXT(1, &m_BloomFbo);
    void CPostprocManager::RecreateBuffers()  
    187187    status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    188188    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    189189    {
    190         LOGWARNING(L"Framebuffer object incomplete (B): 0x%04X", status);
     190        LOGWARNING("Framebuffer object incomplete (B): 0x%04X", status);
    191191    }
    192192    */
    193193
    std::vector<CStrW> CPostprocManager::GetPostEffects()  
    519519   
    520520    VfsPaths pathnames;
    521521    if(vfs::GetPathnames(g_VFS, path, 0, pathnames) < 0)
    522         LOGERROR(L"Error finding Post effects in '%ls'", path.string().c_str());
     522        LOGERROR("Error finding Post effects in '%ls'", path.string().c_str());
    523523
    524524    for(size_t i = 0; i < pathnames.size(); i++)
    525525    {
  • source/renderer/Renderer.cpp

    diff --git a/source/renderer/Renderer.cpp b/source/renderer/Renderer.cpp
    index 404d90a..398c331 100644
    a b bool CRenderer::Open(int width, int height)  
    636636
    637637    GLint bits;
    638638    glGetIntegerv(GL_DEPTH_BITS,&bits);
    639     LOGMESSAGE(L"CRenderer::Open: depth bits %d",bits);
     639    LOGMESSAGE("CRenderer::Open: depth bits %d",bits);
    640640    glGetIntegerv(GL_STENCIL_BITS,&bits);
    641     LOGMESSAGE(L"CRenderer::Open: stencil bits %d",bits);
     641    LOGMESSAGE("CRenderer::Open: stencil bits %d",bits);
    642642    glGetIntegerv(GL_ALPHA_BITS,&bits);
    643     LOGMESSAGE(L"CRenderer::Open: alpha bits %d",bits);
     643    LOGMESSAGE("CRenderer::Open: alpha bits %d",bits);
    644644
    645645    // Validate the currently selected render path
    646646    SetRenderPath(m_Options.m_RenderPath);
    void CRenderer::SetRenderPath(RenderPath rp)  
    808808    {
    809809        if (!(m_Caps.m_ARBProgram || (m_Caps.m_VertexShader && m_Caps.m_FragmentShader && m_Options.m_PreferGLSL)))
    810810        {
    811             LOGWARNING(L"Falling back to fixed function\n");
     811            LOGWARNING("Falling back to fixed function\n");
    812812            rp = RP_FIXED;
    813813        }
    814814    }
    CRenderer::RenderPath CRenderer::GetRenderPathByName(const CStr& name)  
    843843    if (name == "default")
    844844        return RP_DEFAULT;
    845845
    846     LOGWARNING(L"Unknown render path name '%hs', assuming 'default'", name.c_str());
     846    LOGWARNING("Unknown render path name '%hs', assuming 'default'", name.c_str());
    847847    return RP_DEFAULT;
    848848}
    849849
    void CRenderer::EndFrame()  
    16291629        int err = glGetError();
    16301630        if (err)
    16311631        {
    1632             ONCE(LOGERROR(L"CRenderer::EndFrame: GL errors %i occurred", err));
     1632            ONCE(LOGERROR("CRenderer::EndFrame: GL errors %i occurred", err));
    16331633        }
    16341634    }
    16351635}
  • source/renderer/ShadowMap.cpp

    diff --git a/source/renderer/ShadowMap.cpp b/source/renderer/ShadowMap.cpp
    index f776175..e23e555 100644
    a b void ShadowMapInternals::CreateTexture()  
    406406    default: formatname = "DEPTH_COMPONENT"; break;
    407407    }
    408408
    409     LOGMESSAGE(L"Creating shadow texture (size %dx%d) (format = %hs)",
     409    LOGMESSAGE("Creating shadow texture (size %dx%d) (format = %hs)",
    410410        Width, Height, formatname);
    411411
    412412
    void ShadowMapInternals::CreateTexture()  
    494494
    495495    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    496496    {
    497         LOGWARNING(L"Framebuffer object incomplete: 0x%04X", status);
     497        LOGWARNING("Framebuffer object incomplete: 0x%04X", status);
    498498
    499499        // Disable shadow rendering (but let the user try again if they want)
    500500        g_Renderer.m_Options.m_Shadows = false;
  • source/renderer/SkyManager.cpp

    diff --git a/source/renderer/SkyManager.cpp b/source/renderer/SkyManager.cpp
    index e0368e7..013edbd 100644
    a b void SkyManager::LoadSkyTextures()  
    126126            if (g_VFS->LoadFile(path2, file, fileSize) < 0)
    127127            {
    128128                glDeleteTextures(1, &m_SkyCubeMap);
    129                 LOGERROR(L"Error creating sky cubemap.");
     129                LOGERROR("Error creating sky cubemap.");
    130130                return;
    131131            }
    132132        }
    std::vector<CStrW> SkyManager::GetSkySets() const  
    207207    DirectoryNames subdirectories;
    208208    if(g_VFS->GetDirectoryEntries(path, 0, &subdirectories) < 0)
    209209    {
    210         LOGERROR(L"Error opening directory '%ls'", path.string().c_str());
     210        LOGERROR("Error opening directory '%ls'", path.string().c_str());
    211211        return std::vector<CStrW>(1, GetSkySet()); // just return what we currently have
    212212    }
    213213
  • source/renderer/TerrainRenderer.cpp

    diff --git a/source/renderer/TerrainRenderer.cpp b/source/renderer/TerrainRenderer.cpp
    index 4f6d9bc..026f49b 100644
    a b bool TerrainRenderer::RenderFancyWater(const CShaderDefines& context, int cullGr  
    653653       
    654654        if (!m->fancyWaterShader)
    655655        {
    656             LOGERROR(L"Failed to load water shader. Falling back to fixed pipeline water.\n");
     656            LOGERROR("Failed to load water shader. Falling back to fixed pipeline water.\n");
    657657            WaterMgr->m_RenderWater = false;
    658658            return false;
    659659        }
  • source/renderer/VertexBufferManager.cpp

    diff --git a/source/renderer/VertexBufferManager.cpp b/source/renderer/VertexBufferManager.cpp
    index d9ada2f..3911efa 100644
    a b CVertexBuffer::VBChunk* CVertexBufferManager::Allocate(size_t vertexSize, size_t  
    8787   
    8888    if (!result)
    8989    {
    90         LOGERROR(L"Failed to create VBOs (%lu*%lu)", (unsigned long)vertexSize, (unsigned long)numVertices);
     90        LOGERROR("Failed to create VBOs (%lu*%lu)", (unsigned long)vertexSize, (unsigned long)numVertices);
    9191    }
    9292
    9393    return result;
  • source/renderer/WaterManager.cpp

    diff --git a/source/renderer/WaterManager.cpp b/source/renderer/WaterManager.cpp
    index aa66016..2e48d34 100644
    a b int WaterManager::LoadWaterTextures()  
    326326    GLenum status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    327327    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    328328    {
    329         LOGWARNING(L"Reflection framebuffer object incomplete: 0x%04X", status);
     329        LOGWARNING("Reflection framebuffer object incomplete: 0x%04X", status);
    330330        g_Renderer.m_Options.m_WaterReflection = false;
    331331    }
    332332
    int WaterManager::LoadWaterTextures()  
    341341    status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    342342    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    343343    {
    344         LOGWARNING(L"Refraction framebuffer object incomplete: 0x%04X", status);
     344        LOGWARNING("Refraction framebuffer object incomplete: 0x%04X", status);
    345345        g_Renderer.m_Options.m_WaterRefraction = false;
    346346    }
    347347   
    int WaterManager::LoadWaterTextures()  
    356356    status = pglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
    357357    if (status != GL_FRAMEBUFFER_COMPLETE_EXT)
    358358    {
    359         LOGWARNING(L"Fancy Effects framebuffer object incomplete: 0x%04X", status);
     359        LOGWARNING("Fancy Effects framebuffer object incomplete: 0x%04X", status);
    360360        g_Renderer.m_Options.m_WaterRefraction = false;
    361361    }
    362362   
  • source/scriptinterface/DebuggingServer.cpp

    diff --git a/source/scriptinterface/DebuggingServer.cpp b/source/scriptinterface/DebuggingServer.cpp
    index fa484b0..1b8b9bf 100644
    a b CDebuggingServer::CDebuggingServer() :  
    9494    m_SettingBreakOnException = true;
    9595
    9696    EnableHTTP();
    97     LOGWARNING(L"Javascript debugging webserver enabled.");
     97    LOGWARNING("Javascript debugging webserver enabled.");
    9898}
    9999
    100100CDebuggingServer::~CDebuggingServer()
    void* CDebuggingServer::MgDebuggingServerCallback(mg_event event, struct mg_conn  
    396396
    397397    case MG_EVENT_LOG:
    398398        // Called by Mongoose's cry()
    399         LOGERROR(L"Mongoose error: %hs", request_info->log_message);
     399        LOGERROR("Mongoose error: %hs", request_info->log_message);
    400400        return NULL;
    401401
    402402    case MG_INIT_SSL:
  • source/scriptinterface/ScriptInterface.cpp

    diff --git a/source/scriptinterface/ScriptInterface.cpp b/source/scriptinterface/ScriptInterface.cpp
    index d87ab68..aaba59a 100644
    a b void ErrorReporter(JSContext* cx, const char* message, JSErrorReport* report)  
    126126    }
    127127
    128128    if (isWarning)
    129         LOGWARNING(L"%hs", msg.str().c_str());
     129        LOGWARNING("%hs", msg.str().c_str());
    130130    else
    131         LOGERROR(L"%hs", msg.str().c_str());
     131        LOGERROR("%hs", msg.str().c_str());
    132132
    133133    // When running under Valgrind, print more information in the error message
    134134//  VALGRIND_PRINTF_BACKTRACE("->");
    JSBool logmsg(JSContext* cx, uint argc, jsval* vp)  
    163163    std::wstring str;
    164164    if (!ScriptInterface::FromJSVal(cx, args.handleAt(0), str))
    165165        return JS_FALSE;
    166     LOGMESSAGE(L"%ls", str.c_str());
     166    LOGMESSAGE("%ls", str.c_str());
    167167    args.rval().setUndefined();
    168168    return JS_TRUE;
    169169}
    JSBool warn(JSContext* cx, uint argc, jsval* vp)  
    180180    std::wstring str;
    181181    if (!ScriptInterface::FromJSVal(cx, args.handleAt(0), str))
    182182        return JS_FALSE;
    183     LOGWARNING(L"%ls", str.c_str());
     183    LOGWARNING("%ls", str.c_str());
    184184    args.rval().setUndefined();
    185185    return JS_TRUE;
    186186}
    JSBool error(JSContext* cx, uint argc, jsval* vp)  
    197197    std::wstring str;
    198198    if (!ScriptInterface::FromJSVal(cx, args.handleAt(0), str))
    199199        return JS_FALSE;
    200     LOGERROR(L"%ls", str.c_str());
     200    LOGERROR("%ls", str.c_str());
    201201    args.rval().setUndefined();
    202202    return JS_TRUE;
    203203}
    ScriptInterface::ScriptInterface(const char* nativeScopeName, const char* debugN  
    420420    if (g_JSDebuggerEnabled && g_DebuggingServer != NULL)
    421421    {
    422422        if(!JS_SetDebugMode(GetContext(), true))
    423             LOGERROR(L"Failed to set Spidermonkey to debug mode!");
     423            LOGERROR("Failed to set Spidermonkey to debug mode!");
    424424        else
    425425            g_DebuggingServer->RegisterScriptinterface(debugName, this);
    426426    } */
    bool ScriptInterface::LoadGlobalScripts()  
    478478    {
    479479        if (!LoadGlobalScriptFile(*it))
    480480        {
    481             LOGERROR(L"LoadGlobalScripts: Failed to load script %ls", it->string().c_str());
     481            LOGERROR("LoadGlobalScripts: Failed to load script %ls", it->string().c_str());
    482482            return false;
    483483        }
    484484    }
    bool ScriptInterface::ReplaceNondeterministicRNG(boost::rand48& rng)  
    507507        }
    508508    }
    509509
    510     LOGERROR(L"ReplaceNondeterministicRNG: failed to replace Math.random");
     510    LOGERROR("ReplaceNondeterministicRNG: failed to replace Math.random");
    511511    return false;
    512512}
    513513
    void ScriptInterface::CallConstructor(JS::HandleValue ctor, JS::AutoValueVector&  
    543543    JSAutoRequest rq(m->m_cx);
    544544    if (!ctor.isObject())
    545545    {
    546         LOGERROR(L"CallConstructor: ctor is not an object");
     546        LOGERROR("CallConstructor: ctor is not an object");
    547547        out.setNull();
    548548        return;
    549549    }
    bool ScriptInterface::EnumeratePropertyNamesWithPrefix(JS::HandleValue objVal, c  
    750750   
    751751    if (!objVal.isObjectOrNull())
    752752    {
    753         LOGERROR(L"EnumeratePropertyNamesWithPrefix expected object type!");
     753        LOGERROR("EnumeratePropertyNamesWithPrefix expected object type!");
    754754        return false;
    755755    }
    756756       
    bool ScriptInterface::LoadGlobalScriptFile(const VfsPath& path)  
    866866    JSAutoRequest rq(m->m_cx);
    867867    if (!VfsFileExists(path))
    868868    {
    869         LOGERROR(L"File '%ls' does not exist", path.string().c_str());
     869        LOGERROR("File '%ls' does not exist", path.string().c_str());
    870870        return false;
    871871    }
    872872
    bool ScriptInterface::LoadGlobalScriptFile(const VfsPath& path)  
    876876
    877877    if (ret != PSRETURN_OK)
    878878    {
    879         LOGERROR(L"Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
     879        LOGERROR("Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
    880880        return false;
    881881    }
    882882
    bool ScriptInterface::ParseJSON(const std::string& string_utf8, JS::MutableHandl  
    926926    if (JS_ParseJSON(m->m_cx, reinterpret_cast<const jschar*>(string.c_str()), (u32)string.size(), out))
    927927        return true;
    928928
    929     LOGERROR(L"JS_ParseJSON failed!");
     929    LOGERROR("JS_ParseJSON failed!");
    930930    if (!JS_IsExceptionPending(m->m_cx))
    931931        return false;
    932932
    bool ScriptInterface::ParseJSON(const std::string& string_utf8, JS::MutableHandl  
    946946
    947947    std::wstring error;
    948948    ScriptInterface::FromJSVal(m->m_cx, rval, error);
    949     LOGERROR(L"%ls", error.c_str());
     949    LOGERROR("%ls", error.c_str());
    950950    return false;
    951951}
    952952
    void ScriptInterface::ReadJSONFile(const VfsPath& path, JS::MutableHandleValue o  
    954954{
    955955    if (!VfsFileExists(path))
    956956    {
    957         LOGERROR(L"File '%ls' does not exist", path.string().c_str());
     957        LOGERROR("File '%ls' does not exist", path.string().c_str());
    958958        return;
    959959    }
    960960
    void ScriptInterface::ReadJSONFile(const VfsPath& path, JS::MutableHandleValue o  
    964964
    965965    if (ret != PSRETURN_OK)
    966966    {
    967         LOGERROR(L"Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
     967        LOGERROR("Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
    968968        return;
    969969    }
    970970
    971971    std::string content(file.DecodeUTF8()); // assume it's UTF-8
    972972
    973973    if (!ParseJSON(content, out))
    974         LOGERROR(L"Failed to parse '%ls'", path.string().c_str());
     974        LOGERROR("Failed to parse '%ls'", path.string().c_str());
    975975}
    976976
    977977struct Stringifier
    std::string ScriptInterface::StringifyJSON(JS::MutableHandleValue obj, bool inde  
    10111011    if (!JS_Stringify(m->m_cx, obj.address(), NULL, indentVal, &Stringifier::callback, &str))
    10121012    {
    10131013        JS_ClearPendingException(m->m_cx);
    1014         LOGERROR(L"StringifyJSON failed");
     1014        LOGERROR("StringifyJSON failed");
    10151015        return std::string();
    10161016    }
    10171017
  • source/scriptinterface/ThreadDebugger.cpp

    diff --git a/source/scriptinterface/ThreadDebugger.cpp b/source/scriptinterface/ThreadDebugger.cpp
    index e9eebbc..a320f02 100644
    a b JSTrapStatus CThreadDebugger::BreakHandler(JSContext* cx, JSScript* script, jsby  
    493493            *m->m_pLastBreakFrame = JS_FrameIterator(m->m_pScriptInterface->GetContext(), &iter);
    494494           
    495495            if (!JS_SetSingleStepMode(cx, script, true))
    496                 LOGERROR(L"JS_SetSingleStepMode returned false!"); // TODO: When can this happen?
     496                LOGERROR("JS_SetSingleStepMode returned false!"); // TODO: When can this happen?
    497497            else
    498498            {
    499499                if (nextDbgCmd == DBG_CMD_SINGLESTEP)
    JSTrapStatus CThreadDebugger::BreakHandler(JSContext* cx, JSScript* script, jsby  
    516516        else if (nextDbgCmd == DBG_CMD_CONTINUE)
    517517        {
    518518            if (!JS_SetSingleStepMode(cx, script, true))
    519                 LOGERROR(L"JS_SetSingleStepMode returned false!"); // TODO: When can this happen?
     519                LOGERROR("JS_SetSingleStepMode returned false!"); // TODO: When can this happen?
    520520            else
    521521            {
    522522                // Setup a handler to check for break-requests from the DebuggingServer regularly
    std::string CThreadDebugger::StringifyCyclicJSON(jsval obj, bool indent)  
    846846    JSObject* replacer = JS_GetFunctionObject(fun);
    847847    if (!JS_Stringify(m->m_pScriptInterface->GetContext(), &obj, replacer, indent ? INT_TO_JSVAL(2) : JSVAL_VOID, &CyclicRefWorkaround::Stringifier::callback, &str))
    848848    {
    849         LOGERROR(L"StringifyJSON failed");
     849        LOGERROR("StringifyJSON failed");
    850850        jsval exec;
    851851        jsval execString;
    852852        if (JS_GetPendingException(m->m_pScriptInterface->GetContext(), &exec))
    std::string CThreadDebugger::StringifyCyclicJSON(jsval obj, bool indent)  
    858858                if (JSVAL_IS_STRING(execString))
    859859                {
    860860                    std::string strExec = JS_EncodeString(m->m_pScriptInterface->GetContext(), JSVAL_TO_STRING(execString));
    861                     LOGERROR(L"Error: %hs", strExec.c_str());
     861                    LOGERROR("Error: %hs", strExec.c_str());
    862862                }
    863863            }
    864864           
  • source/simulation2/Simulation2.cpp

    diff --git a/source/simulation2/Simulation2.cpp b/source/simulation2/Simulation2.cpp
    index 4e5a366..7db1fae 100644
    a b bool CSimulation2Impl::LoadScripts(CComponentManager& componentManager, std::set  
    187187        VfsPath filename = *it;
    188188        if (loadedScripts)
    189189            loadedScripts->insert(filename);
    190         LOGMESSAGE(L"Loading simulation script '%ls'", filename.string().c_str());
     190        LOGMESSAGE("Loading simulation script '%ls'", filename.string().c_str());
    191191        if (!componentManager.LoadScript(filename))
    192192            ok = false;
    193193    }
    bool CSimulation2Impl::LoadTriggerScripts(CComponentManager& componentManager, J  
    204204        for (u32 i = 0; i < scriptNames.size(); ++i)
    205205        {
    206206            std::string scriptName = "maps/" + scriptNames[i];
    207             LOGMESSAGE(L"Loading trigger script '%hs'", scriptName.c_str());
     207            LOGMESSAGE("Loading trigger script '%hs'", scriptName.c_str());
    208208            if (!componentManager.LoadScript(scriptName.data()))
    209209                ok = false;
    210210        }
    Status CSimulation2Impl::ReloadChangedFile(const VfsPath& path)  
    224224    if (!VfsFileExists(path))
    225225        return INFO::OK;
    226226
    227     LOGMESSAGE(L"Reloading simulation script '%ls'", path.string().c_str());
     227    LOGMESSAGE("Reloading simulation script '%ls'", path.string().c_str());
    228228    if (!m_ComponentManager.LoadScript(path, true))
    229229        return ERR::FAIL;
    230230
    static std::vector<std::string> GetJSONData(const VfsPath& path)  
    828828    {
    829829        // Some error reading directory
    830830        wchar_t error[200];
    831         LOGERROR(L"Error reading directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
     831        LOGERROR("Error reading directory '%ls': %ls", path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
    832832        return std::vector<std::string>();
    833833    }
    834834
    static std::vector<std::string> GetJSONData(const VfsPath& path)  
    840840        PSRETURN ret = file.Load(g_VFS, *it);
    841841        if (ret != PSRETURN_OK)
    842842        {
    843             LOGERROR(L"GetJSONData: Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
     843            LOGERROR("GetJSONData: Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
    844844            continue;
    845845        }
    846846
    static std::string ReadJSON(const VfsPath& path)  
    864864{
    865865    if (!VfsFileExists(path))
    866866    {
    867         LOGERROR(L"File '%ls' does not exist", path.string().c_str());
     867        LOGERROR("File '%ls' does not exist", path.string().c_str());
    868868        return std::string();
    869869    }
    870870
    static std::string ReadJSON(const VfsPath& path)  
    873873    PSRETURN ret = file.Load(g_VFS, path);
    874874    if (ret != PSRETURN_OK)
    875875    {
    876         LOGERROR(L"Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
     876        LOGERROR("Failed to load file '%ls': %hs", path.string().c_str(), GetErrorString(ret));
    877877        return std::string();
    878878    }
    879879
  • source/simulation2/components/CCmpAIManager.cpp

    diff --git a/source/simulation2/components/CCmpAIManager.cpp b/source/simulation2/components/CCmpAIManager.cpp
    index ac1c542..dab13d4 100644
    a b private:  
    104104            m_Worker.LoadMetadata(path, &metadata);
    105105            if (metadata.isUndefined())
    106106            {
    107                 LOGERROR(L"Failed to create AI player: can't find %ls", path.string().c_str());
     107                LOGERROR("Failed to create AI player: can't find %ls", path.string().c_str());
    108108                return false;
    109109            }
    110110
    private:  
    116116            JS::RootedValue ctor(cx);
    117117            if (!m_ScriptInterface->HasProperty(metadata, "moduleName"))
    118118            {
    119                 LOGERROR(L"Failed to create AI player: %ls: missing 'moduleName'", path.string().c_str());
     119                LOGERROR("Failed to create AI player: %ls: missing 'moduleName'", path.string().c_str());
    120120                return false;
    121121            }
    122122
    private:  
    124124            if (!m_ScriptInterface->GetProperty(global, moduleName.c_str(), &objectWithConstructor)
    125125                || objectWithConstructor.isUndefined())
    126126            {
    127                 LOGERROR(L"Failed to create AI player: %ls: can't find the module that should contain the constructor: '%hs'", path.string().c_str(), moduleName.c_str());
     127                LOGERROR("Failed to create AI player: %ls: can't find the module that should contain the constructor: '%hs'", path.string().c_str(), moduleName.c_str());
    128128                return false;
    129129            }
    130130
    131131            if (!m_ScriptInterface->GetProperty(metadata, "constructor", constructor))
    132132            {
    133                 LOGERROR(L"Failed to create AI player: %ls: missing 'constructor'", path.string().c_str());
     133                LOGERROR("Failed to create AI player: %ls: missing 'constructor'", path.string().c_str());
    134134                return false;
    135135            }
    136136
    private:  
    138138            if (!m_ScriptInterface->GetProperty(objectWithConstructor, constructor.c_str(), &ctor)
    139139                || ctor.isNull())
    140140            {
    141                 LOGERROR(L"Failed to create AI player: %ls: can't find constructor '%hs'", path.string().c_str(), constructor.c_str());
     141                LOGERROR("Failed to create AI player: %ls: can't find constructor '%hs'", path.string().c_str(), constructor.c_str());
    142142                return false;
    143143            }
    144144
    private:  
    160160
    161161            if (obj.isNull())
    162162            {
    163                 LOGERROR(L"Failed to create AI player: %ls: error calling constructor '%hs'", path.string().c_str(), constructor.c_str());
     163                LOGERROR("Failed to create AI player: %ls: error calling constructor '%hs'", path.string().c_str(), constructor.c_str());
    164164                return false;
    165165            }
    166166
    public:  
    261261        VfsPaths pathnames;
    262262        if (vfs::GetPathnames(g_VFS, L"simulation/ai/" + moduleName + L"/", L"*.js", pathnames) < 0)
    263263        {
    264             LOGERROR(L"Failed to load AI scripts for module %ls", moduleName.c_str());
     264            LOGERROR("Failed to load AI scripts for module %ls", moduleName.c_str());
    265265            return false;
    266266        }
    267267
    public:  
    269269        {
    270270            if (!m_ScriptInterface->LoadGlobalScriptFile(*it))
    271271            {
    272                 LOGERROR(L"Failed to load script %ls", it->string().c_str());
     272                LOGERROR("Failed to load script %ls", it->string().c_str());
    273273                return false;
    274274            }
    275275        }
    public:  
    308308            }
    309309        }
    310310       
    311         LOGERROR(L"Invalid playerid in PostCommand!"); 
     311        LOGERROR("Invalid playerid in PostCommand!");   
    312312    }
    313313    // The next two ought to be implmeneted someday but for now as it returns "null" it can't
    314314    static void DumpHeap(ScriptInterface::CxPrivate* pCxPrivate)
    public:  
    391391        JS::RootedValue ctor(cx);
    392392        if (!m_ScriptInterface->GetProperty(global, "API3", &AIModule) || AIModule.isUndefined())
    393393        {
    394             LOGERROR(L"Failed to create shared AI component: %ls: can't find module '%hs'", path.string().c_str(), "API3");
     394            LOGERROR("Failed to create shared AI component: %ls: can't find module '%hs'", path.string().c_str(), "API3");
    395395            return false;
    396396        }
    397397       
    398398        if (!m_ScriptInterface->GetProperty(AIModule, "SharedScript", &ctor)
    399399            || ctor.isUndefined())
    400400        {
    401             LOGERROR(L"Failed to create shared AI component: %ls: can't find constructor '%hs'", path.string().c_str(), "SharedScript");
     401            LOGERROR("Failed to create shared AI component: %ls: can't find constructor '%hs'", path.string().c_str(), "SharedScript");
    402402            return false;
    403403        }
    404404       
    public:  
    440440       
    441441        if (tmpSharedAIObj.isNull())
    442442        {
    443             LOGERROR(L"Failed to create shared AI component: %ls: error calling constructor '%hs'", path.string().c_str(), "SharedScript");
     443            LOGERROR("Failed to create shared AI component: %ls: error calling constructor '%hs'", path.string().c_str(), "SharedScript");
    444444            return false;
    445445        }
    446446       
    public:  
    617617            JS::RootedValue sharedData(cx);
    618618            JS::RootedValue tmpSharedAIObj(cx, m_SharedAIObj.get()); // TODO: Check if this temporary root can be removed after SpiderMonkey 31 upgrade
    619619            if (!m_ScriptInterface->CallFunction(tmpSharedAIObj, "Serialize", &sharedData))
    620                 LOGERROR(L"AI shared script Serialize call failed");
     620                LOGERROR("AI shared script Serialize call failed");
    621621            serializer.ScriptVal("sharedData", &sharedData);
    622622        }
    623623        for (size_t i = 0; i < m_Players.size(); ++i)
    public:  
    640640            {
    641641                JS::RootedValue scriptData(cx);
    642642                if (!m_ScriptInterface->CallFunction(tmpPlayerObj, "Serialize", &scriptData))
    643                     LOGERROR(L"AI script Serialize call failed");
     643                    LOGERROR("AI script Serialize call failed");
    644644                serializer.ScriptVal("data", &scriptData);
    645645            }
    646646            else
    public:  
    681681            JS::RootedValue tmpSharedAIObj(cx, m_SharedAIObj.get()); // TODO: Check if this temporary root can be removed after SpiderMonkey 31
    682682            deserializer.ScriptVal("sharedData", &sharedData);
    683683            if (!m_ScriptInterface->CallFunctionVoid(tmpSharedAIObj, "Deserialize", sharedData))
    684                 LOGERROR(L"AI shared script Deserialize call failed");
     684                LOGERROR("AI shared script Deserialize call failed");
    685685        }
    686686
    687687        for (size_t i = 0; i < numAis; ++i)
    public:  
    720720                if (m_Players[i]->m_UseSharedComponent)
    721721                {
    722722                    if (!m_ScriptInterface->CallFunctionVoid(tmpPlayerObj, "Deserialize", scriptData, m_SharedAIObj))
    723                         LOGERROR(L"AI script Deserialize call failed");
     723                        LOGERROR("AI script Deserialize call failed");
    724724                }
    725725                else if (!m_ScriptInterface->CallFunctionVoid(tmpPlayerObj, "Deserialize", scriptData))
    726726                {
    727                     LOGERROR(L"AI script deserialize() call failed");
     727                    LOGERROR("AI script deserialize() call failed");
    728728                }
    729729            }
    730730            else
    public:  
    748748        std::pair<std::map<JSObject*, std::wstring>::iterator, bool> ret1 = m_SerializablePrototypes.insert(std::make_pair(obj, name));
    749749        std::pair<std::map<std::wstring, JSObject*>::iterator, bool> ret2 = m_DeserializablePrototypes.insert(std::make_pair(name, obj));
    750750        if (!ret1.second || !ret2.second)
    751             LOGERROR(L"RegisterSerializablePrototype called with same prototype multiple times: p=%p n='%ls'", obj, name.c_str());
     751            LOGERROR("RegisterSerializablePrototype called with same prototype multiple times: p=%p n='%ls'", obj, name.c_str());
    752752    }
    753753
    754754private:
  • source/simulation2/components/CCmpCommandQueue.cpp

    diff --git a/source/simulation2/components/CCmpCommandQueue.cpp b/source/simulation2/components/CCmpCommandQueue.cpp
    index 3b3b0c6..c66ef5d 100644
    a b public:  
    119119        {
    120120            bool ok = scriptInterface.CallFunctionVoid(global, "ProcessCommand", localCommands[i].player, localCommands[i].data);
    121121            if (!ok)
    122                 LOGERROR(L"Failed to call ProcessCommand() global script function");
     122                LOGERROR("Failed to call ProcessCommand() global script function");
    123123        }
    124124
    125125        for (size_t i = 0; i < commands.size(); ++i)
    126126        {
    127127            bool ok = scriptInterface.CallFunctionVoid(global, "ProcessCommand", commands[i].player, commands[i].data);
    128128            if (!ok)
    129                 LOGERROR(L"Failed to call ProcessCommand() global script function");
     129                LOGERROR("Failed to call ProcessCommand() global script function");
    130130        }
    131131    }
    132132};
  • source/simulation2/components/CCmpObstruction.cpp

    diff --git a/source/simulation2/components/CCmpObstruction.cpp b/source/simulation2/components/CCmpObstruction.cpp
    index 638d804..37afbcd 100644
    a b public:  
    515515        // required precondition to use SkipControlGroupsRequireFlagObstructionFilter
    516516        if (m_ControlGroup == INVALID_ENTITY)
    517517        {
    518             LOGERROR(L"[CmpObstruction] Cannot test for foundation obstructions; primary control group must be valid");
     518            LOGERROR("[CmpObstruction] Cannot test for foundation obstructions; primary control group must be valid");
    519519            return FOUNDATION_CHECK_FAIL_ERROR;
    520520        }
    521521
    public:  
    552552        // required precondition to use SkipControlGroupsRequireFlagObstructionFilter
    553553        if (m_ControlGroup == INVALID_ENTITY)
    554554        {
    555             LOGERROR(L"[CmpObstruction] Cannot test for foundation obstructions; primary control group must be valid");
     555            LOGERROR("[CmpObstruction] Cannot test for foundation obstructions; primary control group must be valid");
    556556            return false;
    557557        }
    558558
    public:  
    586586        // required precondition to use SkipControlGroupsRequireFlagObstructionFilter
    587587        if (m_ControlGroup == INVALID_ENTITY)
    588588        {
    589             LOGERROR(L"[CmpObstruction] Cannot test for unit or structure obstructions; primary control group must be valid");
     589            LOGERROR("[CmpObstruction] Cannot test for unit or structure obstructions; primary control group must be valid");
    590590            return ret;
    591591        }
    592592
  • source/simulation2/components/CCmpPathfinder.cpp

    diff --git a/source/simulation2/components/CCmpPathfinder.cpp b/source/simulation2/components/CCmpPathfinder.cpp
    index b2a321c..2fe21f6 100644
    a b ICmpPathfinder::pass_class_t CCmpPathfinder::GetPassabilityClass(const std::stri  
    254254{
    255255    if (m_PassClassMasks.find(name) == m_PassClassMasks.end())
    256256    {
    257         LOGERROR(L"Invalid passability class name '%hs'", name.c_str());
     257        LOGERROR("Invalid passability class name '%hs'", name.c_str());
    258258        return 0;
    259259    }
    260260
    ICmpPathfinder::cost_class_t CCmpPathfinder::GetCostClass(const std::string& nam  
    270270{
    271271    if (m_UnitCostClassTags.find(name) == m_UnitCostClassTags.end())
    272272    {
    273         LOGERROR(L"Invalid unit cost class name '%hs'", name.c_str());
     273        LOGERROR("Invalid unit cost class name '%hs'", name.c_str());
    274274        return m_UnitCostClassTags["default"];
    275275    }
    276276
  • source/simulation2/components/CCmpPosition.cpp

    diff --git a/source/simulation2/components/CCmpPosition.cpp b/source/simulation2/components/CCmpPosition.cpp
    index 51004b4..d5838b7 100644
    a b public:  
    271271        CmpPtr<ICmpPosition> cmpPosition(GetSimContext(), m_TurretParent);
    272272        if (!cmpPosition)
    273273        {
    274             LOGERROR(L"Turret with parent without position component");
     274            LOGERROR("Turret with parent without position component");
    275275            return;
    276276        }
    277277        if (!cmpPosition->IsInWorld())
    public:  
    482482    {
    483483        if (!m_InWorld)
    484484        {
    485             LOGERROR(L"CCmpPosition::GetPosition called on entity when IsInWorld is false");
     485            LOGERROR("CCmpPosition::GetPosition called on entity when IsInWorld is false");
    486486            return CFixedVector3D();
    487487        }
    488488
    public:  
    493493    {
    494494        if (!m_InWorld)
    495495        {
    496             LOGERROR(L"CCmpPosition::GetPosition2D called on entity when IsInWorld is false");
     496            LOGERROR("CCmpPosition::GetPosition2D called on entity when IsInWorld is false");
    497497            return CFixedVector2D();
    498498        }
    499499
    public:  
    504504    {
    505505        if (!m_InWorld)
    506506        {
    507             LOGERROR(L"CCmpPosition::GetPreviousPosition called on entity when IsInWorld is false");
     507            LOGERROR("CCmpPosition::GetPreviousPosition called on entity when IsInWorld is false");
    508508            return CFixedVector3D();
    509509        }
    510510
    public:  
    515515    {
    516516        if (!m_InWorld)
    517517        {
    518             LOGERROR(L"CCmpPosition::GetPreviousPosition2D called on entity when IsInWorld is false");
     518            LOGERROR("CCmpPosition::GetPreviousPosition2D called on entity when IsInWorld is false");
    519519            return CFixedVector2D();
    520520        }
    521521
    public:  
    589589    {
    590590        if (!m_InWorld)
    591591        {
    592             LOGERROR(L"CCmpPosition::GetDistanceTravelled called on entity when IsInWorld is false");
     592            LOGERROR("CCmpPosition::GetDistanceTravelled called on entity when IsInWorld is false");
    593593            return fixed::Zero();
    594594        }
    595595
    public:  
    630630    {
    631631        if (!m_InWorld)
    632632        {
    633             LOGERROR(L"CCmpPosition::GetInterpolatedPosition2D called on entity when IsInWorld is false");
     633            LOGERROR("CCmpPosition::GetInterpolatedPosition2D called on entity when IsInWorld is false");
    634634            return;
    635635        }
    636636
    public:  
    647647            CmpPtr<ICmpPosition> cmpPosition(GetSimContext(), m_TurretParent);
    648648            if (!cmpPosition)
    649649            {
    650                 LOGERROR(L"Turret with parent without position component");
     650                LOGERROR("Turret with parent without position component");
    651651                CMatrix3D m;
    652652                m.SetIdentity();
    653653                return m;
    654654            }
    655655            if (!cmpPosition->IsInWorld())
    656656            {
    657                 LOGERROR(L"CCmpPosition::GetInterpolatedTransform called on turret entity when IsInWorld is false");
     657                LOGERROR("CCmpPosition::GetInterpolatedTransform called on turret entity when IsInWorld is false");
    658658                CMatrix3D m;
    659659                m.SetIdentity();
    660660                return m;
    public:  
    670670        }
    671671        if (!m_InWorld)
    672672        {
    673             LOGERROR(L"CCmpPosition::GetInterpolatedTransform called on entity when IsInWorld is false");
     673            LOGERROR("CCmpPosition::GetInterpolatedTransform called on entity when IsInWorld is false");
    674674            CMatrix3D m;
    675675            m.SetIdentity();
    676676            return m;
    private:  
    925925    {
    926926        if (!m_InWorld)
    927927        {
    928             LOGERROR(L"CCmpPosition::UpdateXZRotation called on entity when IsInWorld is false");
     928            LOGERROR("CCmpPosition::UpdateXZRotation called on entity when IsInWorld is false");
    929929            return;
    930930        }
    931931
    private:  
    940940        CmpPtr<ICmpTerrain> cmpTerrain(GetSystemEntity());
    941941        if (!cmpTerrain || !cmpTerrain->IsLoaded())
    942942        {
    943             LOGERROR(L"Terrain not loaded");
     943            LOGERROR("Terrain not loaded");
    944944            return;
    945945        }
    946946
  • source/simulation2/components/CCmpProjectileManager.cpp

    diff --git a/source/simulation2/components/CCmpProjectileManager.cpp b/source/simulation2/components/CCmpProjectileManager.cpp
    index 3b243a7..0b61a2a 100644
    a b uint32_t CCmpProjectileManager::LaunchProjectile(entity_id_t source, CFixedVecto  
    175175    {
    176176        // If the actor was actually loaded, complain that it doesn't have a projectile
    177177        if (!cmpSourceVisual->GetActorShortName().empty())
    178             LOGERROR(L"Unit with actor '%ls' launched a projectile but has no actor on 'projectile' attachpoint", cmpSourceVisual->GetActorShortName().c_str());
     178            LOGERROR("Unit with actor '%ls' launched a projectile but has no actor on 'projectile' attachpoint", cmpSourceVisual->GetActorShortName().c_str());
    179179        return 0;
    180180    }
    181181
  • source/simulation2/components/CCmpRallyPointRenderer.cpp

    diff --git a/source/simulation2/components/CCmpRallyPointRenderer.cpp b/source/simulation2/components/CCmpRallyPointRenderer.cpp
    index a5258fe..e686c40 100644
    a b void CCmpRallyPointRenderer::UpdateMarkers()  
    521521
    522522        // the marker entity should be valid at this point, otherwise something went wrong trying to allocate it
    523523        if (m_MarkerEntityIds[i] == INVALID_ENTITY)
    524             LOGERROR(L"Failed to create rally point marker entity");
     524            LOGERROR("Failed to create rally point marker entity");
    525525
    526526        CmpPtr<ICmpPosition> markerCmpPosition(GetSimContext(), m_MarkerEntityIds[i]);
    527527        if (markerCmpPosition)
  • source/simulation2/components/CCmpRangeManager.cpp

    diff --git a/source/simulation2/components/CCmpRangeManager.cpp b/source/simulation2/components/CCmpRangeManager.cpp
    index b4988b9..6c31b7c 100644
    a b public:  
    738738    {
    739739        if (m_Queries.find(tag) == m_Queries.end())
    740740        {
    741             LOGERROR(L"CCmpRangeManager: DestroyActiveQuery called with invalid tag %u", tag);
     741            LOGERROR("CCmpRangeManager: DestroyActiveQuery called with invalid tag %u", tag);
    742742            return;
    743743        }
    744744
    public:  
    750750        std::map<tag_t, Query>::iterator it = m_Queries.find(tag);
    751751        if (it == m_Queries.end())
    752752        {
    753             LOGERROR(L"CCmpRangeManager: EnableActiveQuery called with invalid tag %u", tag);
     753            LOGERROR("CCmpRangeManager: EnableActiveQuery called with invalid tag %u", tag);
    754754            return;
    755755        }
    756756
    public:  
    763763        std::map<tag_t, Query>::iterator it = m_Queries.find(tag);
    764764        if (it == m_Queries.end())
    765765        {
    766             LOGERROR(L"CCmpRangeManager: DisableActiveQuery called with invalid tag %u", tag);
     766            LOGERROR("CCmpRangeManager: DisableActiveQuery called with invalid tag %u", tag);
    767767            return;
    768768        }
    769769
    public:  
    820820        std::map<tag_t, Query>::iterator it = m_Queries.find(tag);
    821821        if (it == m_Queries.end())
    822822        {
    823             LOGERROR(L"CCmpRangeManager: ResetActiveQuery called with invalid tag %u", tag);
     823            LOGERROR("CCmpRangeManager: ResetActiveQuery called with invalid tag %u", tag);
    824824            return r;
    825825        }
    826826
    public:  
    11561156    {
    11571157        // Min range must be non-negative
    11581158        if (minRange < entity_pos_t::Zero())
    1159             LOGWARNING(L"CCmpRangeManager: Invalid min range %f in query for entity %u", minRange.ToDouble(), source);
     1159            LOGWARNING("CCmpRangeManager: Invalid min range %f in query for entity %u", minRange.ToDouble(), source);
    11601160
    11611161        // Max range must be non-negative, or else -1
    11621162        if (maxRange < entity_pos_t::Zero() && maxRange != entity_pos_t::FromInt(-1))
    1163             LOGWARNING(L"CCmpRangeManager: Invalid max range %f in query for entity %u", maxRange.ToDouble(), source);
     1163            LOGWARNING("CCmpRangeManager: Invalid max range %f in query for entity %u", maxRange.ToDouble(), source);
    11641164
    11651165        Query q;
    11661166        q.enabled = false;
    public:  
    13371337        if (identifier == "injured")
    13381338            return 2;
    13391339
    1340         LOGWARNING(L"CCmpRangeManager: Invalid flag identifier %hs", identifier.c_str());
     1340        LOGWARNING("CCmpRangeManager: Invalid flag identifier %hs", identifier.c_str());
    13411341        return 0;
    13421342    }
    13431343
    public:  
    13541354        // We don't have a flag set
    13551355        if (flag == 0)
    13561356        {
    1357             LOGWARNING(L"CCmpRangeManager: Invalid flag identifier %hs for entity %u", identifier.c_str(), ent);
     1357            LOGWARNING("CCmpRangeManager: Invalid flag identifier %hs for entity %u", identifier.c_str(), ent);
    13581358            return;
    13591359        }
    13601360
  • source/simulation2/components/CCmpTemplateManager.cpp

    diff --git a/source/simulation2/components/CCmpTemplateManager.cpp b/source/simulation2/components/CCmpTemplateManager.cpp
    index ffb3cd8..192cd77 100644
    a b const CParamNode* CCmpTemplateManager::GetTemplate(std::string templateName)  
    187187
    188188            // Show error on the first failure to validate the template
    189189            if (!m_TemplateSchemaValidity[templateName])
    190                 LOGERROR(L"Failed to validate entity template '%hs'", templateName.c_str());
     190                LOGERROR("Failed to validate entity template '%hs'", templateName.c_str());
    191191        }
    192192        // Refuse to return invalid templates
    193193        if (!m_TemplateSchemaValidity[templateName])
    const CParamNode* CCmpTemplateManager::GetTemplate(std::string templateName)  
    198198    if (!templateRoot.IsOk())
    199199    {
    200200        // The validator should never let this happen
    201         LOGERROR(L"Invalid root element in entity template '%hs'", templateName.c_str());
     201        LOGERROR("Invalid root element in entity template '%hs'", templateName.c_str());
    202202        return NULL;
    203203    }
    204204
  • source/simulation2/components/CCmpUnitMotion.cpp

    diff --git a/source/simulation2/components/CCmpUnitMotion.cpp b/source/simulation2/components/CCmpUnitMotion.cpp
    index 6a4ebda..d24eb12 100644
    a b void CCmpUnitMotion::PathResult(u32 ticket, const ICmpPathfinder::Path& path)  
    814814    }
    815815    else
    816816    {
    817         LOGWARNING(L"unexpected PathResult (%u %d %d)", GetEntityId(), m_State, m_PathState);
     817        LOGWARNING("unexpected PathResult (%u %d %d)", GetEntityId(), m_State, m_PathState);
    818818    }
    819819}
    820820
  • source/simulation2/components/CCmpVisualActor.cpp

    diff --git a/source/simulation2/components/CCmpVisualActor.cpp b/source/simulation2/components/CCmpVisualActor.cpp
    index 52c189b..0e4a003 100644
    a b void CCmpVisualActor::InitSelectionShapeDescriptor(const CParamNode& paramNode)  
    655655            }
    656656            else
    657657            {
    658                 LOGERROR(L"[VisualActor] Cannot apply footprint-based SelectionShape; Footprint component not initialized.");
     658                LOGERROR("[VisualActor] Cannot apply footprint-based SelectionShape; Footprint component not initialized.");
    659659            }
    660660        }
    661661        else if (shapeNode.GetChild("Box").IsOk())
    void CCmpVisualActor::InitSelectionShapeDescriptor(const CParamNode& paramNode)  
    669669        }
    670670        else if (shapeNode.GetChild("Cylinder").IsOk())
    671671        {
    672             LOGWARNING(L"[VisualActor] TODO: Cylinder selection shapes are not yet implemented; defaulting to recursive bounding boxes");
     672            LOGWARNING("[VisualActor] TODO: Cylinder selection shapes are not yet implemented; defaulting to recursive bounding boxes");
    673673        }
    674674        else
    675675        {
    676676            // shouldn't happen by virtue of validation against schema
    677             LOGERROR(L"[VisualActor] No selection shape specified");
     677            LOGERROR("[VisualActor] No selection shape specified");
    678678        }
    679679    }
    680680
  • source/simulation2/components/ICmpVisibility.cpp

    diff --git a/source/simulation2/components/ICmpVisibility.cpp b/source/simulation2/components/ICmpVisibility.cpp
    index f597605..b700f87 100644
    a b public:  
    4343        case ICmpRangeManager::VIS_VISIBLE:
    4444            return ICmpRangeManager::VIS_VISIBLE;
    4545        default:
    46             LOGERROR(L"Received the invalid visibility value %d from the Visibility scripted component!", visibility);
     46            LOGERROR("Received the invalid visibility value %d from the Visibility scripted component!", visibility);
    4747            return ICmpRangeManager::VIS_HIDDEN;
    4848        }
    4949    }
  • source/simulation2/scripting/EngineScriptConversions.cpp

    diff --git a/source/simulation2/scripting/EngineScriptConversions.cpp b/source/simulation2/scripting/EngineScriptConversions.cpp
    index 2f907a3..baeffc6 100644
    a b template<> void ScriptInterface::ToJSVal<IComponent*>(JSContext* cx, JS::Mutable  
    5555    if (!val->NewJSObject(*ScriptInterface::GetScriptInterfaceAndCBData(cx)->pScriptInterface, &obj))
    5656    {
    5757        // Report as an error, since scripts really shouldn't try to use unscriptable interfaces
    58         LOGERROR(L"IComponent does not have a scriptable interface");
     58        LOGERROR("IComponent does not have a scriptable interface");
    5959        ret.setUndefined();
    6060        return;
    6161    }
  • source/simulation2/scripting/MessageTypeConversions.cpp

    diff --git a/source/simulation2/scripting/MessageTypeConversions.cpp b/source/simulation2/scripting/MessageTypeConversions.cpp
    index d6a909d..2adb6fe 100644
    a b CMessage* CMessageInterpolate::FromJSVal(ScriptInterface& scriptInterface, JS::H  
    119119
    120120JS::Value CMessageRenderSubmit::ToJSVal(ScriptInterface& UNUSED(scriptInterface)) const
    121121{
    122     LOGWARNING(L"CMessageRenderSubmit::ToJSVal not implemented");
     122    LOGWARNING("CMessageRenderSubmit::ToJSVal not implemented");
    123123    return JS::UndefinedValue();
    124124}
    125125
    126126CMessage* CMessageRenderSubmit::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    127127{
    128     LOGWARNING(L"CMessageRenderSubmit::FromJSVal not implemented");
     128    LOGWARNING("CMessageRenderSubmit::FromJSVal not implemented");
    129129    return NULL;
    130130}
    131131
    CMessage* CMessageRenderSubmit::FromJSVal(ScriptInterface& UNUSED(scriptInterfac  
    133133
    134134JS::Value CMessageProgressiveLoad::ToJSVal(ScriptInterface& UNUSED(scriptInterface)) const
    135135{
    136     LOGWARNING(L"CMessageProgressiveLoad::ToJSVal not implemented");
     136    LOGWARNING("CMessageProgressiveLoad::ToJSVal not implemented");
    137137    return JS::UndefinedValue();
    138138}
    139139
    140140CMessage* CMessageProgressiveLoad::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    141141{
    142     LOGWARNING(L"CMessageProgressiveLoad::FromJSVal not implemented");
     142    LOGWARNING("CMessageProgressiveLoad::FromJSVal not implemented");
    143143    return NULL;
    144144}
    145145
    CMessage* CMessageProgressiveLoad::FromJSVal(ScriptInterface& UNUSED(scriptInter  
    147147
    148148JS::Value CMessageDeserialized::ToJSVal(ScriptInterface& UNUSED(scriptInterface)) const
    149149{
    150     LOGWARNING(L"CMessageDeserialized::ToJSVal not implemented");
     150    LOGWARNING("CMessageDeserialized::ToJSVal not implemented");
    151151    return JS::UndefinedValue();
    152152}
    153153
    154154CMessage* CMessageDeserialized::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    155155{
    156     LOGWARNING(L"CMessageDeserialized::FromJSVal not implemented");
     156    LOGWARNING("CMessageDeserialized::FromJSVal not implemented");
    157157    return NULL;
    158158}
    159159
    CMessage* CMessagePositionChanged::FromJSVal(ScriptInterface& scriptInterface, J  
    237237
    238238JS::Value CMessageInterpolatedPositionChanged::ToJSVal(ScriptInterface& UNUSED(scriptInterface)) const
    239239{
    240     LOGWARNING(L"CMessageInterpolatedPositionChanged::ToJSVal not implemented");
     240    LOGWARNING("CMessageInterpolatedPositionChanged::ToJSVal not implemented");
    241241    return JS::UndefinedValue();
    242242}
    243243
    244244CMessage* CMessageInterpolatedPositionChanged::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    245245{
    246     LOGWARNING(L"CMessageInterpolatedPositionChanged::FromJSVal not implemented");
     246    LOGWARNING("CMessageInterpolatedPositionChanged::FromJSVal not implemented");
    247247    return NULL;
    248248}
    249249
    JS::Value CMessageRangeUpdate::ToJSVal(ScriptInterface& scriptInterface) const  
    379379
    380380CMessage* CMessageRangeUpdate::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    381381{
    382     LOGWARNING(L"CMessageRangeUpdate::FromJSVal not implemented");
     382    LOGWARNING("CMessageRangeUpdate::FromJSVal not implemented");
    383383    return NULL;
    384384}
    385385
    CMessage* CMessageRangeUpdate::FromJSVal(ScriptInterface& UNUSED(scriptInterface  
    387387
    388388JS::Value CMessagePathResult::ToJSVal(ScriptInterface& UNUSED(scriptInterface)) const
    389389{
    390     LOGWARNING(L"CMessagePathResult::ToJSVal not implemented");
     390    LOGWARNING("CMessagePathResult::ToJSVal not implemented");
    391391    return JS::UndefinedValue();
    392392}
    393393
    394394CMessage* CMessagePathResult::FromJSVal(ScriptInterface& UNUSED(scriptInterface), JS::HandleValue UNUSED(val))
    395395{
    396     LOGWARNING(L"CMessagePathResult::FromJSVal not implemented");
     396    LOGWARNING("CMessagePathResult::FromJSVal not implemented");
    397397    return NULL;
    398398}
    399399
  • source/simulation2/scripting/ScriptComponent.cpp

    diff --git a/source/simulation2/scripting/ScriptComponent.cpp b/source/simulation2/scripting/ScriptComponent.cpp
    index f3ada5b..1df5b45 100644
    a b void CComponentTypeScript::HandleMessage(const CMessage& msg, bool global)  
    7373
    7474    JS::RootedValue tmpInstance(cx, m_Instance.get()); // TODO: Check if this temporary root can be removed after SpiderMonkey 31 upgrade
    7575    if (!m_ScriptInterface.CallFunctionVoid(tmpInstance, name, msgVal))
    76         LOGERROR(L"Script message handler %hs failed", name);
     76        LOGERROR("Script message handler %hs failed", name);
    7777}
    7878
    7979void CComponentTypeScript::Serialize(ISerializer& serialize)
    void CComponentTypeScript::Serialize(ISerializer& serialize)  
    9292    {
    9393        JS::RootedValue val(cx);
    9494        if (!m_ScriptInterface.CallFunction(tmpInstance, "Serialize", &val))
    95             LOGERROR(L"Script Serialize call failed");
     95            LOGERROR("Script Serialize call failed");
    9696        serialize.ScriptVal("object", &val);
    9797    }
    9898    else
    void CComponentTypeScript::Deserialize(const CParamNode& paramNode, IDeserialize  
    118118            deserialize.ScriptVal("object", &val);
    119119
    120120        if (!m_ScriptInterface.CallFunctionVoid(tmpInstance, "Deserialize", val))
    121             LOGERROR(L"Script Deserialize call failed");
     121            LOGERROR("Script Deserialize call failed");
    122122    }
    123123    else
    124124    {
  • source/simulation2/scripting/ScriptComponent.h

    diff --git a/source/simulation2/scripting/ScriptComponent.h b/source/simulation2/scripting/ScriptComponent.h
    index 035013c..a772756 100644
    a b public:  
    6464        R ret; \
    6565        if (m_ScriptInterface.CallFunction(tmpInstance, funcname  BOOST_PP_ENUM_TRAILING_PARAMS(i, a), ret)) \
    6666            return ret; \
    67         LOGERROR(L"Error calling component script function %hs", funcname); \
     67        LOGERROR("Error calling component script function %hs", funcname); \
    6868        return R(); \
    6969    } \
    7070    BOOST_PP_IF(i, template<, ) BOOST_PP_ENUM_PARAMS(i, typename T) BOOST_PP_IF(i, >, ) \
    public:  
    7575        JS::RootedValue tmpInstance(cx, m_Instance.get()); \
    7676        if (m_ScriptInterface.CallFunctionVoid(tmpInstance, funcname  BOOST_PP_ENUM_TRAILING_PARAMS(i, a))) \
    7777            return; \
    78         LOGERROR(L"Error calling component script function %hs", funcname); \
     78        LOGERROR("Error calling component script function %hs", funcname); \
    7979    }
    8080BOOST_PP_REPEAT(SCRIPT_INTERFACE_MAX_ARGS, OVERLOADS, ~)
    8181#undef OVERLOADS
  • source/simulation2/serialization/BinarySerializer.cpp

    diff --git a/source/simulation2/serialization/BinarySerializer.cpp b/source/simulation2/serialization/BinarySerializer.cpp
    index 9cc61ac..cf3d222 100644
    a b static u8 GetArrayType(JSArrayBufferViewType arrayType)  
    4949    case js::ArrayBufferView::TYPE_UINT8_CLAMPED:
    5050        return SCRIPT_TYPED_ARRAY_UINT8_CLAMPED;
    5151    default:
    52         LOGERROR(L"Cannot serialize unrecognized typed array view: %d", arrayType);
     52        LOGERROR("Cannot serialize unrecognized typed array view: %d", arrayType);
    5353        throw PSERROR_Serialize_InvalidScriptValue();
    5454    }
    5555}
    void CBinarySerializerScriptImpl::HandleScriptVal(JS::HandleValue val)  
    258258            else
    259259            {
    260260                // Unrecognized class
    261                 LOGERROR(L"Cannot serialise JS objects with unrecognized class '%hs'", jsclass->name);
     261                LOGERROR("Cannot serialise JS objects with unrecognized class '%hs'", jsclass->name);
    262262                throw PSERROR_Serialize_InvalidScriptValue();
    263263            }
    264264        }
    void CBinarySerializerScriptImpl::HandleScriptVal(JS::HandleValue val)  
    317317            }
    318318        }
    319319
    320         LOGERROR(L"Cannot serialise JS objects of type 'function': %ls", funcname.c_str());
     320        LOGERROR("Cannot serialise JS objects of type 'function': %ls", funcname.c_str());
    321321        throw PSERROR_Serialize_InvalidScriptValue();
    322322    }
    323323    case JSTYPE_STRING:
  • source/simulation2/system/ComponentManager.cpp

    diff --git a/source/simulation2/system/ComponentManager.cpp b/source/simulation2/system/ComponentManager.cpp
    index 3e8aef7..ac4045c 100644
    a b std::vector<IComponent*> CComponentManager::Script_GetComponentsWithInterface(Sc  
    429429CMessage* CComponentManager::ConstructMessage(int mtid, JS::HandleValue data)
    430430{
    431431    if (mtid == MT__Invalid || mtid > (int)m_MessageTypeIdsByName.size()) // (IDs start at 1 so use '>' here)
    432         LOGERROR(L"PostMessage with invalid message type ID '%d'", mtid);
     432        LOGERROR("PostMessage with invalid message type ID '%d'", mtid);
    433433
    434434    if (mtid < MT__LastNative)
    435435    {
    CComponentManager::ComponentTypeId CComponentManager::GetScriptWrapper(Interface  
    672672    for (; iiit != m_InterfaceIdsByName.end(); ++iiit)
    673673        if (iiit->second == iid)
    674674        {
    675             LOGERROR(L"No script wrapper found for interface id %d '%hs'", iid, iiit->first.c_str());
     675            LOGERROR("No script wrapper found for interface id %d '%hs'", iid, iiit->first.c_str());
    676676            return CID__Invalid;
    677677        }
    678678
    679     LOGERROR(L"No script wrapper found for interface id %d", iid);
     679    LOGERROR("No script wrapper found for interface id %d", iid);
    680680    return CID__Invalid;
    681681}
    682682
    IComponent* CComponentManager::ConstructComponent(CEntityHandle ent, ComponentTy  
    753753    std::map<ComponentTypeId, ComponentType>::const_iterator it = m_ComponentTypesById.find(cid);
    754754    if (it == m_ComponentTypesById.end())
    755755    {
    756         LOGERROR(L"Invalid component id %d", cid);
     756        LOGERROR("Invalid component id %d", cid);
    757757        return NULL;
    758758    }
    759759
    IComponent* CComponentManager::ConstructComponent(CEntityHandle ent, ComponentTy  
    764764    boost::unordered_map<entity_id_t, IComponent*>& emap1 = m_ComponentsByInterface[ct.iid];
    765765    if (emap1.find(ent.GetId()) != emap1.end())
    766766    {
    767         LOGERROR(L"Multiple components for interface %d", ct.iid);
     767        LOGERROR("Multiple components for interface %d", ct.iid);
    768768        return NULL;
    769769    }
    770770
    IComponent* CComponentManager::ConstructComponent(CEntityHandle ent, ComponentTy  
    780780        m_ScriptInterface.CallConstructor(tmpCtor, argv, &obj);
    781781        if (obj.isNull())
    782782        {
    783             LOGERROR(L"Script component constructor failed");
     783            LOGERROR("Script component constructor failed");
    784784            return NULL;
    785785        }
    786786    }
    entity_id_t CComponentManager::AddEntity(const std::wstring& templateName, entit  
    887887        CComponentManager::ComponentTypeId cid = LookupCID(it->first);
    888888        if (cid == CID__Invalid)
    889889        {
    890             LOGERROR(L"Unrecognised component type name '%hs' in entity template '%ls'", it->first.c_str(), templateName.c_str());
     890            LOGERROR("Unrecognised component type name '%hs' in entity template '%ls'", it->first.c_str(), templateName.c_str());
    891891            return INVALID_ENTITY;
    892892        }
    893893
    894894        if (!AddComponent(handle, cid, it->second))
    895895        {
    896             LOGERROR(L"Failed to construct component type name '%hs' in entity template '%ls'", it->first.c_str(), templateName.c_str());
     896            LOGERROR("Failed to construct component type name '%hs' in entity template '%ls'", it->first.c_str(), templateName.c_str());
    897897            return INVALID_ENTITY;
    898898        }
    899899        // TODO: maybe we should delete already-constructed components if one of them fails?
    std::vector<std::string> CComponentManager::Script_FindJSONFiles(ScriptInterface  
    12261226    {
    12271227        // Some error reading directory
    12281228        wchar_t error[200];
    1229         LOGERROR(L"Error reading directory '%ls': %ls", cbData.path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
     1229        LOGERROR("Error reading directory '%ls': %ls", cbData.path.string().c_str(), StatusDescription(ret, error, ARRAY_SIZE(error)));
    12301230    }
    12311231   
    12321232    return cbData.templates;
  • source/simulation2/system/ComponentManagerSerialization.cpp

    diff --git a/source/simulation2/system/ComponentManagerSerialization.cpp b/source/simulation2/system/ComponentManagerSerialization.cpp
    index 78b2cd3..1dd0939 100644
    a b bool CComponentManager::DeserializeState(std::istream& stream)  
    322322            ComponentTypeId ctid = LookupCID(ctname);
    323323            if (ctid == CID__Invalid)
    324324            {
    325                 LOGERROR(L"Deserialization saw unrecognised component type '%hs'", ctname.c_str());
     325                LOGERROR("Deserialization saw unrecognised component type '%hs'", ctname.c_str());
    326326                return false;
    327327            }
    328328
    bool CComponentManager::DeserializeState(std::istream& stream)  
    349349            ComponentTypeId ctid = LookupCID(ctname);
    350350            if (ctid == CID__Invalid)
    351351            {
    352                 LOGERROR(L"Deserialization saw unrecognised component type '%hs'", ctname.c_str());
     352                LOGERROR("Deserialization saw unrecognised component type '%hs'", ctname.c_str());
    353353                return false;
    354354            }
    355355
    bool CComponentManager::DeserializeState(std::istream& stream)  
    379379
    380380        if (stream.peek() != EOF)
    381381        {
    382             LOGERROR(L"Deserialization didn't reach EOF");
     382            LOGERROR("Deserialization didn't reach EOF");
    383383            return false;
    384384        }
    385385
    bool CComponentManager::DeserializeState(std::istream& stream)  
    391391    }
    392392    catch (PSERROR_Deserialize& e)
    393393    {
    394         LOGERROR(L"Deserialization failed: %hs", e.what());
     394        LOGERROR("Deserialization failed: %hs", e.what());
    395395        return false;
    396396    }
    397397}
  • source/simulation2/system/ParamNode.cpp

    diff --git a/source/simulation2/system/ParamNode.cpp b/source/simulation2/system/ParamNode.cpp
    index f966004..0c5016a 100644
    a b void CParamNode::ApplyLayer(const XMBFile& xmb, const XMBElement& element, const  
    123123                        if (tokenIt != tokens.end())
    124124                            tokens.erase(tokenIt);
    125125                        else
    126                             LOGWARNING(L"[ParamNode] Could not remove token '%ls' from node '%hs'%ls; not present in list nor inherited (possible typo?)",
     126                            LOGWARNING("[ParamNode] Could not remove token '%ls' from node '%hs'%ls; not present in list nor inherited (possible typo?)",
    127127                                newTokens[i].substr(1).c_str(), name.c_str(), sourceIdentifier ? (L" in '" + std::wstring(sourceIdentifier) + L"'").c_str() : L"");
    128128                    }
    129129                    else
  • source/soundmanager/SoundManager.cpp

    diff --git a/source/soundmanager/SoundManager.cpp b/source/soundmanager/SoundManager.cpp
    index daa6f3e..c3977bf 100644
    a b void ISoundManager::CloseGame()  
    204204
    205205void CSoundManager::al_ReportError(ALenum err, const char* caller, int line)
    206206{
    207     LOGERROR(L"OpenAL error: %hs; called from %hs (line %d)\n", alGetString(err), caller, line);
     207    LOGERROR("OpenAL error: %hs; called from %hs (line %d)\n", alGetString(err), caller, line);
    208208}
    209209
    210210void CSoundManager::al_check(const char* caller, int line)
    void CSoundManager::al_check(const char* caller, int line)  
    216216
    217217Status CSoundManager::ReloadChangedFiles(const VfsPath& UNUSED(path))
    218218{
    219 //  LOGERROR(L"GUI file '%ls' changed - reloading page", path.string().c_str());
     219//  LOGERROR("GUI file '%ls' changed - reloading page", path.string().c_str());
    220220
    221221    return INFO::OK;
    222222}
    Status CSoundManager::AlcInit()  
    338338            }
    339339            else
    340340            {
    341                 LOGERROR(L"error in gensource = %d", err);
     341                LOGERROR("error in gensource = %d", err);
    342342            }
    343343            delete[] sourceList;
    344344        }
    Status CSoundManager::AlcInit()  
    354354        debug_printf(L"Sound: AlcInit success, using %hs\n", dev_name);
    355355    else
    356356    {
    357         LOGERROR(L"Sound: AlcInit failed, m_Device=%p m_Context=%p dev_name=%hs err=%x\n", m_Device, m_Context, dev_name, err);
     357        LOGERROR("Sound: AlcInit failed, m_Device=%p m_Context=%p dev_name=%hs err=%x\n", m_Device, m_Context, dev_name, err);
    358358
    359359// FIXME Hack to get around exclusive access to the sound device
    360360#if OS_UNIX
    void CSoundManager::PlayAsGroup(const VfsPath& groupPath, CVector3D sourcePos, e  
    654654        group = new CSoundGroup();
    655655        if (!group->LoadSoundGroup(L"audio/" + groupPath.string()))
    656656        {
    657             LOGERROR(L"Failed to load sound group '%ls'", groupPath.string().c_str());
     657            LOGERROR("Failed to load sound group '%ls'", groupPath.string().c_str());
    658658            delete group;
    659659            group = NULL;
    660660        }
  • source/soundmanager/data/SoundData.cpp

    diff --git a/source/soundmanager/data/SoundData.cpp b/source/soundmanager/data/SoundData.cpp
    index e3f6173..65647d4 100644
    a b CSoundData* CSoundData::SoundDataFromOgg(const VfsPath& itemPath)  
    107107    }
    108108    else
    109109    {
    110         LOGERROR(L"could not initialize ogg data at %ls", itemPath.string().c_str());
     110        LOGERROR("could not initialize ogg data at %ls", itemPath.string().c_str());
    111111        delete oggAnswer;
    112112    }
    113113
  • source/soundmanager/items/CSoundBase.cpp

    diff --git a/source/soundmanager/items/CSoundBase.cpp b/source/soundmanager/items/CSoundBase.cpp
    index e7dce37..8486114 100644
    a b bool CSoundBase::InitOpenAL()  
    112112    }
    113113    else
    114114    {
    115 //      LOGERROR(L"Source not allocated by SoundManager\n", 0);
     115//      LOGERROR("Source not allocated by SoundManager\n", 0);
    116116    }
    117117    return false;
    118118}
  • source/soundmanager/scripting/SoundGroup.cpp

    diff --git a/source/soundmanager/scripting/SoundGroup.cpp b/source/soundmanager/scripting/SoundGroup.cpp
    index 2969e2e..373b382 100644
    a b static void HandleError(const CStrW& message, const VfsPath& pathname, Status er  
    227227{
    228228    if (err == ERR::AGAIN)
    229229        return; // open failed because sound is disabled (don't log this)
    230     LOGERROR(L"%ls: pathname=%ls, error=%ls", message.c_str(), pathname.string().c_str(), ErrorString(err));
     230    LOGERROR("%ls: pathname=%ls, error=%ls", message.c_str(), pathname.string().c_str(), ErrorString(err));
    231231}
    232232
    233233void CSoundGroup::PlayNext(const CVector3D& position, entity_id_t source)
    bool CSoundGroup::LoadSoundGroup(const VfsPath& pathnameXML)  
    320320
    321321    if (root.GetNodeName() != el_soundgroup)
    322322    {
    323         LOGERROR(L"Invalid SoundGroup format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
     323        LOGERROR("Invalid SoundGroup format (unrecognised root element '%hs')", XeroFile.GetElementString(root.GetNodeName()).c_str());
    324324        return false;
    325325    }
    326326   
  • source/tools/atlas/GameInterface/GameLoop.cpp

    diff --git a/source/tools/atlas/GameInterface/GameLoop.cpp b/source/tools/atlas/GameInterface/GameLoop.cpp
    index cc2fa20..4943f6b 100644
    a b static void* RunEngine(void* data)  
    178178                    debug_warn(L"Unrecognised message");
    179179                    // CLogger might not be initialised, but this error will be sent
    180180                    // to the debug output window anyway so people can still see it
    181                     LOGERROR(L"Unrecognised message (%hs)", name.c_str());
     181                    LOGERROR("Unrecognised message (%hs)", name.c_str());
    182182                }
    183183
    184184                if (msg->GetType() == IMessage::Query)
  • source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp

    diff --git a/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp
    index 38060ee..9a7c2e7 100644
    a b MESSAGEHANDLER(ImportHeightmap)  
    176176    File file;
    177177    if (file.Open(src, O_RDONLY) < 0)
    178178    {
    179         LOGERROR(L"Failed to load heightmap.");
     179        LOGERROR("Failed to load heightmap.");
    180180        return;
    181181    }
    182182   
    MESSAGEHANDLER(ImportHeightmap)  
    187187   
    188188    if (read(file.Descriptor(), fileData.get(), fileSize) < 0)
    189189    {
    190         LOGERROR(L"Failed to read heightmap image.");
     190        LOGERROR("Failed to read heightmap image.");
    191191        file.Close();
    192192        return;
    193193    }
    MESSAGEHANDLER(ImportHeightmap)  
    198198    Tex tex;
    199199    if (tex.decode(fileData, fileSize) < 0)
    200200    {
    201         LOGERROR(L"Failed to decode heightmap.");
     201        LOGERROR("Failed to decode heightmap.");
    202202        return;
    203203    }
    204204
    205205    // Convert to uncompressed BGRA with no mipmaps
    206206    if (tex.transform_to((tex.m_Flags | TEX_BGR | TEX_ALPHA) & ~(TEX_DXT | TEX_MIPMAPS)) < 0)
    207207    {
    208         LOGERROR(L"Failed to transform heightmap.");
     208        LOGERROR("Failed to transform heightmap.");
    209209        return;
    210210    }
    211211
  • source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp

    diff --git a/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp
    index a366503..6da4081 100644
    a b BEGIN_COMMAND(DeleteObjects)  
    930930            entity_id_t ent = sim.AddEntity(oldObjects[i].templateName.FromUTF8(), oldObjects[i].entityID);
    931931            if (ent == INVALID_ENTITY)
    932932            {
    933                 LOGERROR(L"Failed to load entity template '%hs'", oldObjects[i].templateName.c_str());
     933                LOGERROR("Failed to load entity template '%hs'", oldObjects[i].templateName.c_str());
    934934            }
    935935            else
    936936            {