Moved some Lua related string formatting methods from CInterfaceManager to
LuaHelperStuff namespace.
This commit is contained in:
parent
6e05f7da99
commit
8c33683b6f
7 changed files with 47 additions and 39 deletions
|
@ -54,7 +54,7 @@ namespace NLMISC{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CCDBManager::delDbNode( const stlpx_std::string &name )
|
void CCDBManager::delDbNode( const std::string &name )
|
||||||
{
|
{
|
||||||
if( name.empty() )
|
if( name.empty() )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -5082,7 +5082,7 @@ NLMISC_COMMAND(luaReload, "reload all .lua script files", "")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5109,7 +5109,7 @@ NLMISC_COMMAND(luaScript, "Execute a lua script", "direct_script_code")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5130,7 +5130,7 @@ NLMISC_COMMAND(luaInfo, "Dump some information on LUA state", "detaillevel from
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5142,7 +5142,7 @@ NLMISC_COMMAND(luaObject, "Dump the content of a lua object", "<table name> [max
|
||||||
CInterfaceManager *pIM= CInterfaceManager::getInstance();
|
CInterfaceManager *pIM= CInterfaceManager::getInstance();
|
||||||
if (!ClientCfg.AllowDebugLua)
|
if (!ClientCfg.AllowDebugLua)
|
||||||
{
|
{
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
CLuaState *luaState = pIM->getLuaState();
|
CLuaState *luaState = pIM->getLuaState();
|
||||||
|
@ -5189,7 +5189,7 @@ NLMISC_COMMAND(luaGC, "Force a garbage collector of lua", "")
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(LUADebugNotEnabledMsg));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5747,8 +5747,8 @@ bool CInterfaceManager::executeLuaScript(const std::string &luaScript, bool smal
|
||||||
if (sscanf(msg.c_str(), "%s: %s.lua:%d:",exceptionName, filename, &line) == 3) // NB: test not exact here, but should work in 99,9 % of cases
|
if (sscanf(msg.c_str(), "%s: %s.lua:%d:",exceptionName, filename, &line) == 3) // NB: test not exact here, but should work in 99,9 % of cases
|
||||||
{
|
{
|
||||||
msg = CLuaIHM::createGotoFileButtonTag(filename, line) + msg;
|
msg = CLuaIHM::createGotoFileButtonTag(filename, line) + msg;
|
||||||
nlwarning(formatLuaErrorNlWarn(msg).c_str());
|
nlwarning(LuaHelperStuff::formatLuaErrorNlWarn(msg).c_str());
|
||||||
displaySystemInfo(formatLuaErrorSysInfo(msg));
|
displaySystemInfo(LuaHelperStuff::formatLuaErrorSysInfo(msg));
|
||||||
}
|
}
|
||||||
else // AJM: handle the other 0.1% of cases
|
else // AJM: handle the other 0.1% of cases
|
||||||
{
|
{
|
||||||
|
@ -5767,8 +5767,8 @@ bool CInterfaceManager::executeLuaScript(const std::string &luaScript, bool smal
|
||||||
else if (line >= 1 && contextList.size() >= line)
|
else if (line >= 1 && contextList.size() >= line)
|
||||||
msg = error[0]+": \n>>>"+contextList[line-1]+"\nError:"+error[2]+": "+error[3];
|
msg = error[0]+": \n>>>"+contextList[line-1]+"\nError:"+error[2]+": "+error[3];
|
||||||
}
|
}
|
||||||
nlwarning(formatLuaErrorNlWarn(msg).c_str());
|
nlwarning(LuaHelperStuff::formatLuaErrorNlWarn(msg).c_str());
|
||||||
displaySystemInfo(formatLuaErrorSysInfo(msg));
|
displaySystemInfo(LuaHelperStuff::formatLuaErrorSysInfo(msg));
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -5785,7 +5785,7 @@ void CInterfaceManager::reloadAllLuaFileScripts()
|
||||||
// if fail to reload a script, display the error code
|
// if fail to reload a script, display the error code
|
||||||
if(!loadLUA(*it, error))
|
if(!loadLUA(*it, error))
|
||||||
{
|
{
|
||||||
displaySystemInfo(formatLuaErrorSysInfo(error));
|
displaySystemInfo(LuaHelperStuff::formatLuaErrorSysInfo(error));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5837,25 +5837,11 @@ std::vector<std::string> CInterfaceManager::getInGameXMLInterfaceFiles()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
|
||||||
void CInterfaceManager::formatLuaStackContext(std::string &stackContext)
|
|
||||||
{
|
|
||||||
stackContext= string("@{FC8A}") + stackContext + "@{FC8F} ";
|
|
||||||
}
|
|
||||||
std::string CInterfaceManager::formatLuaErrorNlWarn(const std::string &error)
|
|
||||||
{
|
|
||||||
// Remove color tags (see formatLuaErrorSC())
|
|
||||||
std::string ret= error;
|
|
||||||
strFindReplace(ret, "@{FC8A}", "");
|
|
||||||
strFindReplace(ret, "@{FC8F}", "");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CInterfaceManager::dumpLuaString(const std::string &str)
|
void CInterfaceManager::dumpLuaString(const std::string &str)
|
||||||
{
|
{
|
||||||
nlinfo(str.c_str());
|
nlinfo(str.c_str());
|
||||||
displaySystemInfo(formatLuaErrorSysInfo(str));
|
displaySystemInfo(LuaHelperStuff::formatLuaErrorSysInfo(str));
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
|
@ -633,11 +633,6 @@ public:
|
||||||
class CLuaState *getLuaState() const {return _LuaState;}
|
class CLuaState *getLuaState() const {return _LuaState;}
|
||||||
/// Reload all LUA scripts inserted through <lua>
|
/// Reload all LUA scripts inserted through <lua>
|
||||||
void reloadAllLuaFileScripts();
|
void reloadAllLuaFileScripts();
|
||||||
/// for Debug: append some color TAG, to have a cool display in SystemInfo
|
|
||||||
std::string formatLuaErrorSysInfo(const std::string &error) {return std::string("@{FC8F}") + error;}
|
|
||||||
/// for Debug: append/remove some color TAG, to have a cool display in SystemInfo/nlwarning
|
|
||||||
void formatLuaStackContext(std::string &stackContext);
|
|
||||||
std::string formatLuaErrorNlWarn(const std::string &error);
|
|
||||||
/// For debug: dump in the sysinfo and nlwarning state of lua. detail range from 0 to 2 (clamped).
|
/// For debug: dump in the sysinfo and nlwarning state of lua. detail range from 0 to 2 (clamped).
|
||||||
void dumpLuaState(uint detail);
|
void dumpLuaState(uint detail);
|
||||||
/// For debug: force a garbage collector
|
/// For debug: force a garbage collector
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
#include "lua_helper.h"
|
#include "lua_helper.h"
|
||||||
#include "nel/misc/file.h"
|
#include "nel/misc/file.h"
|
||||||
#include "interface_manager.h"
|
//#include "interface_manager.h"
|
||||||
#include "../client_cfg.h"
|
#include "../client_cfg.h"
|
||||||
|
|
||||||
#ifdef LUA_NEVRAX_VERSION
|
#ifdef LUA_NEVRAX_VERSION
|
||||||
|
@ -45,6 +45,28 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace LuaHelperStuff
|
||||||
|
{
|
||||||
|
void formatLuaStackContext( std::string &stackContext )
|
||||||
|
{
|
||||||
|
stackContext = std::string( "@{FC8A}" ).append( stackContext ).append( "@{FC8F} " );
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string formatLuaErrorSysInfo( const std::string &error )
|
||||||
|
{
|
||||||
|
return std::string( "@{FC8F}" ).append( error );
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string formatLuaErrorNlWarn( const std::string &error )
|
||||||
|
{
|
||||||
|
// Remove color tags (see formatLuaErrorSC())
|
||||||
|
std::string ret = error;
|
||||||
|
strFindReplace( ret, "@{FC8A}", "" );
|
||||||
|
strFindReplace( ret, "@{FC8F}", "" );
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
const char *CLuaState::_NELSmallScriptTableName= "NELSmallScriptTable";
|
const char *CLuaState::_NELSmallScriptTableName= "NELSmallScriptTable";
|
||||||
uint CLuaStackChecker::_ExceptionContextCounter = 0;
|
uint CLuaStackChecker::_ExceptionContextCounter = 0;
|
||||||
|
@ -706,12 +728,11 @@ void ELuaWrappedFunctionException::init(CLuaState *ls, const std::string &reason
|
||||||
{
|
{
|
||||||
//H_AUTO(Lua_ELuaWrappedFunctionException_init)
|
//H_AUTO(Lua_ELuaWrappedFunctionException_init)
|
||||||
// Print first Lua Stack Context
|
// Print first Lua Stack Context
|
||||||
CInterfaceManager *pIM= CInterfaceManager::getInstance();
|
|
||||||
if(ls)
|
if(ls)
|
||||||
{
|
{
|
||||||
ls->getStackContext(_Reason, 1); // 1 because 0 is the current C function => return 1 for script called
|
ls->getStackContext(_Reason, 1); // 1 because 0 is the current C function => return 1 for script called
|
||||||
// enclose with cool colors
|
// enclose with cool colors
|
||||||
pIM->formatLuaStackContext(_Reason);
|
LuaHelperStuff::formatLuaStackContext(_Reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Append the reason
|
// Append the reason
|
||||||
|
|
|
@ -27,9 +27,16 @@ extern "C"
|
||||||
#include "lua_loadlib.h"
|
#include "lua_loadlib.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class CLuaState;
|
class CLuaState;
|
||||||
|
|
||||||
|
namespace LuaHelperStuff
|
||||||
|
{
|
||||||
|
void formatLuaStackContext( std::string &stackContext );
|
||||||
|
std::string formatLuaErrorSysInfo( const std::string &error );
|
||||||
|
std::string formatLuaErrorNlWarn( const std::string &error );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
/** Helper class to see if a stack is restored at its initial size (or with n return results).
|
/** Helper class to see if a stack is restored at its initial size (or with n return results).
|
||||||
* Check that the stack size remains unchanged when the object goes out of scope
|
* Check that the stack size remains unchanged when the object goes out of scope
|
||||||
|
|
|
@ -1806,7 +1806,7 @@ void CLuaIHM::rawDebugInfo(const std::string &dbg)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NLMISC::InfoLog->displayRawNL(pIM->formatLuaErrorSysInfo(dbg).c_str());
|
NLMISC::InfoLog->displayRawNL(LuaHelperStuff::formatLuaErrorSysInfo(dbg).c_str());
|
||||||
}
|
}
|
||||||
#ifdef LUA_NEVRAX_VERSION
|
#ifdef LUA_NEVRAX_VERSION
|
||||||
if (LuaDebuggerIDE)
|
if (LuaDebuggerIDE)
|
||||||
|
@ -1814,7 +1814,7 @@ void CLuaIHM::rawDebugInfo(const std::string &dbg)
|
||||||
LuaDebuggerIDE->debugInfo(dbg.c_str());
|
LuaDebuggerIDE->debugInfo(dbg.c_str());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
pIM->displaySystemInfo(pIM->formatLuaErrorSysInfo(dbg));
|
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(dbg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3564,10 +3564,9 @@ bool CLuaIHM::executeFunctionOnStack(CLuaState &ls, int numArgs, int numRet)
|
||||||
int CLuaIHM::breakPoint(CLuaState &ls)
|
int CLuaIHM::breakPoint(CLuaState &ls)
|
||||||
{
|
{
|
||||||
//H_AUTO(Lua_CLuaIHM_breakPoint)
|
//H_AUTO(Lua_CLuaIHM_breakPoint)
|
||||||
CInterfaceManager *pIM= CInterfaceManager::getInstance();
|
|
||||||
std::string reason;
|
std::string reason;
|
||||||
ls.getStackContext(reason, 1); // 1 because 0 is the current C function => return 1 for script called
|
ls.getStackContext(reason, 1); // 1 because 0 is the current C function => return 1 for script called
|
||||||
pIM->formatLuaStackContext(reason);
|
LuaHelperStuff::formatLuaStackContext(reason);
|
||||||
NLMISC::InfoLog->displayRawNL(reason.c_str());
|
NLMISC::InfoLog->displayRawNL(reason.c_str());
|
||||||
static volatile bool doAssert = true;
|
static volatile bool doAssert = true;
|
||||||
if (doAssert) // breakPoint can be discarded in case of looping assert
|
if (doAssert) // breakPoint can be discarded in case of looping assert
|
||||||
|
|
Loading…
Reference in a new issue