Merge with default

--HG--
branch : build_pipeline_v3
hg/feature/build_pipeline_v3
kaetemi 11 years ago
commit 2866fc4b01

@ -147,6 +147,7 @@ external_stlport
*.lnk
thumbs.db
Thumbs.db
.Sync*
# build
code/nel/build/*

@ -111,9 +111,11 @@ FIND_PACKAGE(LibXml2 REQUIRED)
FIND_PACKAGE(PNG REQUIRED)
FIND_PACKAGE(Jpeg)
IF(WITH_STATIC_LIBXML2)
SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC)
ENDIF(WITH_STATIC_LIBXML2)
IF(WITH_STATIC)
# libxml2 could need winsock2 library
SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC)
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${WINSOCK2_LIB})
# on Mac OS X libxml2 requires iconv and liblzma

@ -247,6 +247,11 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
ELSE(WIN32)
OPTION(WITH_STATIC "With static libraries." OFF)
ENDIF(WIN32)
IF (WITH_STATIC)
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" ON )
ELSE(WITH_STATIC)
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" OFF)
ENDIF(WITH_STATIC)
OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF)
IF(WIN32)
OPTION(WITH_EXTERNAL "With provided external." ON )

@ -217,6 +217,7 @@ namespace NLGUI
void clear() { setTop(0); }
int getTop();
bool empty() { return getTop() == 0; }
void pushGlobalTable();
void pushValue(int index); // copie nth element of stack to the top of the stack
void remove(int index); // remove nth element of stack
void insert(int index); // insert last element of the stack before the given position
@ -301,7 +302,8 @@ namespace NLGUI
/** Helper : Execute a function by name. Lookup for the function is done in the table at the index 'funcTableIndex'
* the behaviour is the same than with call of pcall.
*/
int pcallByName(const char *functionName, int nargs, int nresults, int funcTableIndex = LUA_GLOBALSINDEX, int errfunc = 0);
int pcallByNameGlobal(const char *functionName, int nargs, int nresults, int errfunc = 0);
int pcallByName(const char *functionName, int nargs, int nresults, int funcTableIndex, int errfunc = 0);
// push a C closure (pop n element from the stack and associate with the function)
void pushCClosure(lua_CFunction function, int n);
@ -367,6 +369,7 @@ namespace NLGUI
CLuaState &operator=(const CLuaState &/* other */) { nlassert(0); return *this; }
void executeScriptInternal(const std::string &code, const std::string &dbgSrc, int numRet = 0);
int pcallByNameInternal(const char *functionName, int nargs, int nresults, int errfunc, int initialStackSize);
};

@ -42,10 +42,16 @@ inline void CLuaState::checkIndex(int index)
//H_AUTO(Lua_CLuaState_checkIndex)
// NB : more restrictive test that in the documentation there, because
// we don't expose the check stack function
#if LUA_VERSION_NUM >= 502
nlassert( (index!=0 && abs(index) <= getTop())
|| index == LUA_REGISTRYINDEX
);
#else
nlassert( (index!=0 && abs(index) <= getTop())
|| index == LUA_REGISTRYINDEX
|| index == LUA_GLOBALSINDEX
);
#endif
}
//================================================================================
@ -75,6 +81,18 @@ inline void CLuaState::setTop(int index)
lua_settop(_State, index);
}
//================================================================================
inline void CLuaState::pushGlobalTable()
{
//H_AUTO(Lua_CLuaState_pushGlobalTable)
#if LUA_VERSION_NUM >= 502
lua_pushglobaltable(_State);
#else
checkIndex(LUA_GLOBALSINDEX);
lua_pushvalue(_State, LUA_GLOBALSINDEX);
#endif
}
//================================================================================
inline void CLuaState::pushValue(int index)
{
@ -243,7 +261,11 @@ inline size_t CLuaState::strlen(int index)
{
//H_AUTO(Lua_CLuaState_strlen)
checkIndex(index);
#if LUA_VERSION_NUM >= 502
return lua_rawlen(_State, index);
#else
return lua_strlen(_State, index);
#endif
}
//================================================================================
@ -342,7 +364,11 @@ inline bool CLuaState::equal(int index1, int index2)
//H_AUTO(Lua_CLuaState_equal)
checkIndex(index1);
checkIndex(index2);
#if LUA_VERSION_NUM >= 502
return lua_compare(_State, index1, index2, LUA_OPEQ) != 0;
#else
return lua_equal(_State, index1, index2) != 0;
#endif
}
//================================================================================
@ -376,7 +402,11 @@ inline bool CLuaState::lessThan(int index1, int index2)
//H_AUTO(Lua_CLuaState_lessThan)
checkIndex(index1);
checkIndex(index2);
#if LUA_VERSION_NUM >= 502
return lua_compare(_State, index1, index2, LUA_OPLT) != 0;
#else
return lua_lessthan(_State, index1, index2) != 0;
#endif
}

@ -28,6 +28,21 @@ using namespace NLMISC;
namespace NLGUI
{
void ifexprufct_forcelink();
// Needed because otherwise GCC and co. omit the code in interface_expr_user_fct.cpp code
// causing the GUI not to work.
// It all happens because no function is called *directly* from that module.
struct LinkTrickster
{
LinkTrickster()
{
ifexprufct_forcelink();
}
};
LinkTrickster linkTrickster;
// Yoyo: Act like a singleton, else registerUserFct may crash.
CInterfaceExpr::TUserFctMap *CInterfaceExpr::_UserFct= NULL;

@ -361,7 +361,11 @@ namespace NLGUI
rd.Str = &code;
rd.Done = false;
int result = lua_load(_State, CHelper::luaChunkReaderFromString, (void *) &rd, dbgSrc.c_str());
int result = lua_load(_State, CHelper::luaChunkReaderFromString, (void *) &rd, dbgSrc.c_str()
#if LUA_VERSION_NUM >= 502
, NULL
#endif
);
if (result !=0)
{
// pop the error code
@ -569,9 +573,17 @@ namespace NLGUI
//H_AUTO(Lua_CLuaState_registerFunc)
nlassert(function);
CLuaStackChecker lsc(this);
#if LUA_VERSION_NUM >= 502
pushGlobalTable();
#endif
push(name);
push(function);
#if LUA_VERSION_NUM >= 502
setTable(-3); // -3 is the pushGlobalTable
pop(1); // pop the pushGlobalTable value (setTable popped the 2 pushes)
#else
setTable(LUA_GLOBALSINDEX);
#endif
}
@ -643,13 +655,31 @@ namespace NLGUI
}
// ***************************************************************************
int CLuaState::pcallByName(const char *functionName, int nargs, int nresults, int funcTableIndex /*=LUA_GLOBALSINDEX*/, int errfunc /*= 0*/)
int CLuaState::pcallByNameGlobal(const char *functionName, int nargs, int nresults, int errfunc /*= 0*/)
{
int initialStackSize = getTop();
nlassert(functionName);
#if LUA_VERSION_NUM >= 502
pushGlobalTable();
#else
nlassert(isTable(LUA_GLOBALSINDEX));
pushValue(LUA_GLOBALSINDEX);
#endif
return pcallByNameInternal(functionName, nargs, nresults, errfunc, initialStackSize);
}
int CLuaState::pcallByName(const char *functionName, int nargs, int nresults, int funcTableIndex, int errfunc /*= 0*/)
{
//H_AUTO(Lua_CLuaState_pcallByName)
int initialStackSize = getTop();
nlassert(functionName);
nlassert(isTable(funcTableIndex));
pushValue(funcTableIndex);
return pcallByNameInternal(functionName, nargs, nresults, errfunc, initialStackSize);
}
int CLuaState::pcallByNameInternal(const char *functionName, int nargs, int nresults, int errfunc /*= 0*/, int initialStackSize)
{
//H_AUTO(Lua_CLuaState_pcallByName)
push(functionName);
getTable(-2);
remove(-2); // get rid of the table
@ -782,7 +812,12 @@ namespace NLGUI
int CLuaState::getGCCount()
{
//H_AUTO(Lua_CLuaState_getGCCount)
#if LUA_VERSION_NUM >= 502
// deprecated
return 0;
#else
return lua_getgccount(_State);
#endif
}
//================================================================================

@ -474,7 +474,11 @@ namespace NLGUI
CLuaState *luaState = table.getLuaState();
CLuaStackChecker lsc(luaState);
// get pointer to the 'next' function
#if LUA_VERSION_NUM >= 502
luaState->pushGlobalTable();
#else
luaState->pushValue(LUA_GLOBALSINDEX);
#endif
_NextFunction = CLuaObject(*luaState)["next"];
//
nlassert(luaState);

@ -25,6 +25,7 @@ IF(WITH_NEL_TOOLS)
shapes_exporter
tga_cut
tga_resize
shape2obj
zone_check_bind
zone_dump
zviewer)

@ -1271,7 +1271,8 @@ void CObjectViewer::go ()
// Calc FPS
static sint64 lastTime=NLMISC::CTime::getPerformanceTime ();
sint64 newTime=NLMISC::CTime::getPerformanceTime ();
float fps = (float)(1.0 / NLMISC::CTime::ticksToSecond (newTime-lastTime));
sint64 timeDiff = newTime - lastTime;
float fps = timeDiff > 0 ? (float)(1.0 / NLMISC::CTime::ticksToSecond (newTime-lastTime)) : 1000.0f;
lastTime=newTime;
char msgBar[1024];
uint nbPlayingSources, nbSources;

@ -574,36 +574,6 @@ plugin material NelMaterial
CheckBox cbUseSelfIllumColor "Use Color" checked:false align:#right
)
on cbTwoSided changed bval do
updateUI false
on cpAmbient changed cval do
updateUI false
on cpDiffuse changed cval do
updateUI false
on spOpacity changed pval do
updateUI false
on cpSpecular changed cval do
updateUI false
on spSpecularLevel changed pval do
updateUI false
on spGlossiness changed pval do
updateUI false
on cpSelfIllumColor changed cval do
updateUI false
on spSelfIllumAmount changed bval do
updateUI false
on cbUseSelfIllumColor changed bval do
updateUI false
Fn updateUI update =
(
if (version >= 14) then
@ -655,6 +625,36 @@ plugin material NelMaterial
)
)
on cbTwoSided changed bval do
updateUI false
on cpAmbient changed cval do
updateUI false
on cpDiffuse changed cval do
updateUI false
on spOpacity changed pval do
updateUI false
on cpSpecular changed cval do
updateUI false
on spSpecularLevel changed pval do
updateUI false
on spGlossiness changed pval do
updateUI false
on cpSelfIllumColor changed cval do
updateUI false
on spSelfIllumAmount changed bval do
updateUI false
on cbUseSelfIllumColor changed bval do
updateUI false
on nelBasicParameters open do
(
updateUI true

@ -0,0 +1,9 @@
FILE(GLOB SRC *.cpp)
ADD_EXECUTABLE(shape2obj ${SRC})
TARGET_LINK_LIBRARIES(shape2obj nelmisc nel3d)
NL_DEFAULT_PROPS(shape2obj "NeL, Tools, 3D: shape2obj")
NL_ADD_RUNTIME_FLAGS(shape2obj)
INSTALL(TARGETS shape2obj RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d)

@ -66,7 +66,7 @@ const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshMRMSkinnedGeom *mesh, ui
bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh);
bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh);
bool ProcessMesh(const std::string &filename, IShape *shapeMesh);
//bool ProcessMesh(const std::string &filename, IShape *shapeMesh);
int main(int argc, char* argv[])
{
@ -110,7 +110,7 @@ int main(int argc, char* argv[])
if (ProcessMeshMRMSkinned(filename, shapeMesh)) return 0;
if (ProcessMeshMRM(filename, shapeMesh)) return 0;
if (ProcessMesh(filename, shapeMesh)) return 0;
// if (ProcessMesh(filename, shapeMesh)) return 0;
return 0;
}
@ -519,6 +519,10 @@ bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh)
return true;
}
/*
TODO: implement this
bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
{
CMesh *mesh = dynamic_cast<CMesh*>(shapeMesh);
@ -666,3 +670,5 @@ bool ProcessMesh(const std::string &filename, IShape *shapeMesh)
return true;
}
*/

@ -36,5 +36,3 @@ IF(WITH_NEL_TOOLS)
ADD_SUBDIRECTORY(pipeline)
ENDIF(WITH_NEL_PIPELINE)
ENDIF(WITH_NEL_TOOLS)
#build_gamedata

@ -126,24 +126,24 @@ AutoEquipTool = 1;
// *** LANDSCAPE
LandscapeTileNear = 150.000000;
LandscapeTileNear = 50.000000;
LandscapeTileNear_min = 20.000000;
LandscapeTileNear_max = 250.000000;
LandscapeTileNear_max = 100.000000;
LandscapeTileNear_step = 10.0;
LandscapeTileNear_ps0 = 20.0;
LandscapeTileNear_ps1 = 100.0;
LandscapeTileNear_ps2 = 150.0;
LandscapeTileNear_ps3 = 200.0;
LandscapeTileNear_ps1 = 40.0;
LandscapeTileNear_ps2 = 50.0;
LandscapeTileNear_ps3 = 80.0;
// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible
LandscapeThreshold = 2000.0;
LandscapeThreshold = 1000.0;
LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold
LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold
LandscapeThreshold_max = 2000.0; // High quality => 0.0005 threshold
LandscapeThreshold_step = 100.0;
LandscapeThreshold_ps0 = 100.0;
LandscapeThreshold_ps1 = 1000.0;
LandscapeThreshold_ps2 = 2000.0;
LandscapeThreshold_ps3 = 3000.0;
LandscapeThreshold_ps1 = 500.0;
LandscapeThreshold_ps2 = 1000.0;
LandscapeThreshold_ps3 = 2000.0;
Vision = 500.000000;
Vision_min = 200.000000;

@ -126,24 +126,24 @@ AutoEquipTool = 1;
// *** LANDSCAPE
LandscapeTileNear = 150.000000;
LandscapeTileNear = 50.000000;
LandscapeTileNear_min = 20.000000;
LandscapeTileNear_max = 250.000000;
LandscapeTileNear_max = 100.000000;
LandscapeTileNear_step = 10.0;
LandscapeTileNear_ps0 = 20.0;
LandscapeTileNear_ps1 = 100.0;
LandscapeTileNear_ps2 = 150.0;
LandscapeTileNear_ps3 = 200.0;
LandscapeTileNear_ps1 = 40.0;
LandscapeTileNear_ps2 = 50.0;
LandscapeTileNear_ps3 = 80.0;
// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible
LandscapeThreshold = 2000.0;
LandscapeThreshold = 1000.0;
LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold
LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold
LandscapeThreshold_max = 2000.0; // High quality => 0.0005 threshold
LandscapeThreshold_step = 100.0;
LandscapeThreshold_ps0 = 100.0;
LandscapeThreshold_ps1 = 1000.0;
LandscapeThreshold_ps2 = 2000.0;
LandscapeThreshold_ps3 = 3000.0;
LandscapeThreshold_ps1 = 500.0;
LandscapeThreshold_ps2 = 1000.0;
LandscapeThreshold_ps3 = 2000.0;
Vision = 500.000000;
Vision_min = 200.000000;

@ -84,7 +84,7 @@ function bgdownloader:setPatchProgress(progress)
self:getPrioCB().active = true
local progressPercentText = string.format("%d%%", 100 * progress)
local progressPostfix = math.mod(os.time(), 3)
local progressPostfix = math.fmod(os.time(), 3)
local progressDate = nltime.getLocalTime() / 500
local colValue = math.floor(230 + 24 * math.sin(progressDate))
local color = string.format("%d %d %d %d", colValue, colValue, colValue, 255)

@ -521,7 +521,7 @@ function GameR2Loading:validateLoading()
local filename = GameR2Loading.CurrentFile
if string.find(filename, '\.r2', -3) == nil then
if string.find(filename, '.r2', -3) == nil then
messageBox(i18n.get("uiR2EDLoadScenario_InvalidFileName"))
return
end

@ -131,7 +131,7 @@ local function levelToForceRegion(level)
end
local function levelToLevelForce(level)
return math.floor(math.mod(level, 50) * 5 / 50) + 1
return math.floor(math.fmod(level, 50) * 5 / 50) + 1
end

@ -45,7 +45,7 @@
text_ref="BM BM" text_y="-2"
reset_focus_on_hide="false" max_historic="0"
onenter="set_keyboard_focus" params="target=ui:login:checkpass:content:submit_gr:eb_password:eb|select_all=false"
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="20" color="135 243 28 255" />
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="12" color="135 243 28 255" />
<instance template="edit_box_log" id="eb_password" posparent="txt_pas" posref="BM TM" w="240" h="24" fontsize="14" x="0" y="-4"
text_ref="BM BM" text_y="-2"
@ -660,7 +660,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t
text_ref="BM BM" text_y="-2"
on_focus="create_account_rules" on_focus_params="rules_password" reset_focus_on_hide="false" max_historic="0" entry_type="password"
onenter="set_keyboard_focus" params="target=ui:login:create_account:content:submit_gr:eb_confirm_password:eb|select_all=false"
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="8" color="135 243 28 255" />
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="20" color="135 243 28 255" />
<!-- confirm password -->
<view type="text" id="txt_confirm_pas" posparent="txt_pas" posref="BL TL" hardtext="uiConfirmPassword" fontsize="10" x="0" y="-30" color="255 255 255 255" />
@ -669,7 +669,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t
text_ref="BM BM" text_y="-2"
on_focus="create_account_rules" on_focus_params="rules_password_conf" reset_focus_on_hide="false" max_historic="0" entry_type="password"
onenter="set_keyboard_focus" params="target=ui:login:create_account:content:submit_gr:eb_email:eb|select_all=false"
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="8" color="135 243 28 255" />
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="20" color="135 243 28 255" />
<!-- email -->
<view type="text" id="txt_email" posparent="txt_confirm_pas" posref="BL TL" hardtext="uiEmail" fontsize="10" x="0" y="-30" color="255 255 255 255" />
@ -678,7 +678,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t
text_ref="BM BM" text_y="-2"
on_focus="create_account_rules" on_focus_params="rules_email" reset_focus_on_hide="false" max_historic="0"
onenter="" params=""
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="255" color="135 243 28 255" />
prompt="" enter_loose_focus="true" multi_line="false" max_num_chars="254" color="135 243 28 255" />
<!-- accept conditions -->
<ctrl type="button" id="accept_cond" button_type="toggle_button" pushed="true"

@ -135,7 +135,7 @@ end
--function outgame:setPatchProgress(progress)
-- --debugInfo("*** 3 ***")
-- local progressPercentText = string.format("%d%%", 100 * progress)
-- local progressPostfix = math.mod(os.time(), 3)
-- local progressPostfix = math.fmod(os.time(), 3)
-- --debugInfo("Patch in progress : " .. tostring(progress))
-- local progressDate = nltime.getLocalTime() / 500
-- local colValue = math.floor(230 + 24 * math.sin(progressDate))

@ -56,7 +56,7 @@ function game:outpostAdjustHour(uiLocal, prop)
local h = runExpr(prop);
-- add time zone and clamp hour
h = math.mod(h + tz + 24, 24);
h = math.fmod(h + tz + 24, 24);
uiGroup[uiLocal].uc_hardtext = string.format('%02d:00', h);
end
@ -288,8 +288,8 @@ function game:outpostActiveDefenderHourButton()
local timeRangeDef= getDbProp(path .. ':TIME_RANGE_DEF');
local timeRangeDefWanted= getDbProp(path .. ':TIME_RANGE_DEF_WANTED');
timeRangeDef= secondsSince1970ToHour( timeRangeDef );
timeRangeDef= math.mod(timeRangeDef+24, 24);
timeRangeDefWanted= math.mod(timeRangeDefWanted+24, 24);
timeRangeDef= math.fmod(timeRangeDef+24, 24);
timeRangeDefWanted= math.fmod(timeRangeDefWanted+24, 24);
-- if time required is the one obtained, or if we are in peace
if( timeRangeDef == timeRangeDefWanted or status<=game.OutpostEnums.Peace ) then
@ -323,8 +323,8 @@ function game:outpostActiveAttackerHourButton()
local timeRangeAtt= getDbProp('UI:TEMP:OUTPOST:DECLARE_WAR_ACK_TIME_RANGE_ATT');
local timeRangeAttWanted= getDbProp('UI:TEMP:OUTPOST:DECLARE_WAR_ATTACK_PERIOD');
timeRangeAtt= secondsSince1970ToHour( timeRangeAtt );
timeRangeAtt= math.mod(timeRangeAtt+24, 24);
timeRangeAttWanted= math.mod(timeRangeAttWanted+24, 24);
timeRangeAtt= math.fmod(timeRangeAtt+24, 24);
timeRangeAttWanted= math.fmod(timeRangeAttWanted+24, 24);
-- if time required is the one obtained
if( timeRangeAtt == timeRangeAttWanted ) then

@ -803,8 +803,8 @@ end
function game:timeInSecondsToReadableTime(regenTime)
local seconds = math.mod(regenTime, 60)
local minutes = math.mod(math.floor(regenTime / 60), 60)
local seconds = math.fmod(regenTime, 60)
local minutes = math.fmod(math.floor(regenTime / 60), 60)
local hours = math.floor(regenTime / 3600)
local result = ""
if seconds > 0 then result = concatUCString(tostring(seconds), i18n.get("uittSecondsShort")) end

@ -904,7 +904,7 @@ function RingAccessPoint:onDraw()
self.LastRefreshTime = nltime.getLocalTime() / 1000
--self:getWindow():find("refreshText").active = false
else
local waitText = i18n.get("uiRAP_WaitMsg" .. math.mod(os.time(), 3))
local waitText = i18n.get("uiRAP_WaitMsg" .. math.fmod(os.time(), 3))
self:setInfoMessage(waitText)
--local refreshText = self:getWindow():find("refreshText")
--if not self.ListReceived then

@ -5164,7 +5164,7 @@ NLMISC_COMMAND(luaObject, "Dump the content of a lua object", "<table name> [max
CLuaIHMRyzom::debugInfo(e.what());
return false;
}
luaState->pushValue(LUA_GLOBALSINDEX);
luaState->pushGlobalTable();
CLuaObject env;
env.pop(*luaState);
uint maxDepth;

@ -108,7 +108,7 @@ ucstring CControlSheetTooltipInfoWaiter::infoValidated(CDBCtrlSheet* ctrlSheet,
CLuaStackRestorer lsr(ls, 0);
CLuaIHM::pushReflectableOnStack(*ls, (CReflectableRefPtrTarget *)ctrlSheet);
ls->pushValue(LUA_GLOBALSINDEX);
ls->pushGlobalTable();
CLuaObject game(*ls);
game = game["game"];
game.callMethodByNameNoThrow(luaMethodName.c_str(), 1, 1);
@ -3170,7 +3170,7 @@ void CDBCtrlSheet::getContextHelp(ucstring &help) const
_PhraseAdapter = new CSPhraseComAdpater;
_PhraseAdapter->Phrase = pPM->getPhrase(phraseId);
CLuaIHM::pushReflectableOnStack(*ls, _PhraseAdapter);
ls->pushValue(LUA_GLOBALSINDEX);
ls->pushGlobalTable();
CLuaObject game(*ls);
game = game["game"];
game.callMethodByNameNoThrow("updatePhraseTooltip", 1, 1);

@ -187,9 +187,11 @@ static DECLARE_INTERFACE_USER_FCT(lua)
// *** clear return value
const std::string retId= "__ui_internal_ret_";
CLuaStackChecker lsc(&ls);
ls.pushGlobalTable();
ls.push(retId);
ls.pushNil();
ls.setTable(LUA_GLOBALSINDEX);
ls.setTable(-3); //pop pop
ls.pop();
// *** execute script
@ -201,8 +203,10 @@ static DECLARE_INTERFACE_USER_FCT(lua)
// *** retrieve and convert return value
ls.pushGlobalTable();
ls.push(retId);
ls.getTable(LUA_GLOBALSINDEX);
ls.getTable(-2);
ls.remove(-2);
bool ok= false;
sint type= ls.type();
if (type==LUA_TBOOLEAN)
@ -370,7 +374,7 @@ void CLuaIHMRyzom::RegisterRyzomFunctions( NLGUI::CLuaState &ls )
ls.registerFunc("SNode", CUICtor::SNode);
// *** Register the metatable for access to client.cfg (nb nico this may be more general later -> access to any config file ...)
ls.pushValue(LUA_GLOBALSINDEX);
ls.pushGlobalTable();
CLuaObject globals(ls);
CLuaObject clientCfg = globals.newTable("config");
CLuaObject mt = globals.newTable("__cfmt");

@ -3235,7 +3235,7 @@ class CHandlerDebugUiDumpElementUnderMouse : public IActionHandler
if (!lua) return;
CLuaStackRestorer lsr(lua, 0);
CLuaIHM::pushUIOnStack(*lua, HighlightedDebugUI);
lua->pushValue(LUA_GLOBALSINDEX);
lua->pushGlobalTable();
CLuaObject env(*lua);
env["inspect"].callNoThrow(1, 0);
}

@ -77,7 +77,7 @@ CComLuaModule::CComLuaModule(CDynamicMapClient* client, lua_State *luaState /*=
#ifdef LUA_NEVRAX_VERSION
_LuaState = lua_open(NULL, NULL);
#else
_LuaState = lua_open();
_LuaState = luaL_newstate();
#endif
_LuaOwnerShip = false;
luaopen_base(_LuaState);
@ -105,7 +105,7 @@ CComLuaModule::CComLuaModule(CDynamicMapClient* client, lua_State *luaState /*=
void CComLuaModule::initLuaLib()
{
//H_AUTO(R2_CComLuaModule_initLuaLib)
const luaL_reg methods[] =
const luaL_Reg methods[] =
{
{"updateScenario", CComLuaModule::luaUpdateScenario},
{"requestUpdateRtScenario", CComLuaModule::luaRequestUpdateRtScenario},
@ -237,7 +237,12 @@ void CComLuaModule::initLuaLib()
};
int initialStackSize = lua_gettop(_LuaState);
#if LUA_VERSION_NUM >= 502
luaL_newlib(_LuaState, methods);
lua_setglobal(_LuaState, R2_LUA_PATH);
#else
luaL_openlib(_LuaState, R2_LUA_PATH, methods, 0);
#endif
lua_settop(_LuaState, initialStackSize);
}
@ -1046,7 +1051,11 @@ void CComLuaModule::setObjectToLua(lua_State* state, CObject* object)
{
int initialStackSize = lua_gettop(state);
#if LUA_VERSION_NUM >= 502
lua_pushglobaltable(state); // _G
#else
lua_pushvalue(state, LUA_GLOBALSINDEX); // _G
#endif
lua_pushstring(state, "r2"); // _G, "r2"
lua_gettable(state, -2); // G, r2
@ -1106,6 +1115,8 @@ void CComLuaModule::setObjectToLua(lua_State* state, CObject* object)
}
}
#if 0
// okay!
if (0)
{
@ -1128,6 +1139,7 @@ void CComLuaModule::setObjectToLua(lua_State* state, CObject* object)
}
}
}
#endif
}
else
{
@ -1147,8 +1159,11 @@ CObject* CComLuaModule::getObjectFromLua(lua_State* state, sint idx)
{
if (lua_getmetatable(state, -1))
{
#if LUA_VERSION_NUM >= 502
lua_pushglobaltable(state); // obj, mt, _G
#else
lua_pushvalue(state, LUA_GLOBALSINDEX); // obj, mt, _G
#endif
lua_pushstring(state, "r2"); // obj, mt, _G, "r2"

@ -2613,7 +2613,7 @@ void CEditor::init(TMode initialMode, TAccessMode accessMode)
}
//
CLuaStackChecker lsc(&getLua());
getLua().pushValue(LUA_GLOBALSINDEX);
getLua().pushGlobalTable();
_Globals.pop(getLua());
getLua().pushValue(LUA_REGISTRYINDEX);
_Registry.pop(getLua());
@ -3956,9 +3956,11 @@ void CEditor::release()
// clear the environment
if (CLuaManager::getInstance().getLuaState())
{
getLua().pushGlobalTable();
getLua().push(R2_LUA_PATH);
getLua().pushNil();
getLua().setTable(LUA_GLOBALSINDEX);
getLua().setTable(-3); // pop pop
getLua().pop();
_Globals.release();
_Registry.release();
_ObjectProjectionMetatable.release(); // AJM

@ -51,7 +51,7 @@ void CSessionBrowserImpl::init(CLuaState *ls)
{
nlassert(ls);
_Lua = ls;
_Lua->pushValue(LUA_GLOBALSINDEX);
_Lua->pushGlobalTable();
CLuaObject game(*_Lua);
game = game["game"];
game.setValue("getRingSessionList", luaGetRingSessionList);
@ -759,7 +759,7 @@ void CSessionBrowserImpl::callRingAccessPointMethod(const char *name, int numArg
nlassert(name);
{
CLuaStackRestorer lsr(_Lua, _Lua->getTop() + numResult);
_Lua->pushValue(LUA_GLOBALSINDEX);
_Lua->pushGlobalTable();
CLuaObject rap(*_Lua);
rap = rap["RingAccessPoint"];
rap.callMethodByNameNoThrow(name, numArg, numResult);
@ -774,7 +774,7 @@ void CSessionBrowserImpl::callRingCharTrackingMethod(const char *name, int numAr
nlassert(name);
{
CLuaStackRestorer lsr(_Lua, _Lua->getTop() + numResult);
_Lua->pushValue(LUA_GLOBALSINDEX);
_Lua->pushGlobalTable();
CLuaObject rap(*_Lua);
rap = rap["CharTracking"];
rap.callMethodByNameNoThrow(name, numArg, numResult);
@ -789,7 +789,7 @@ void CSessionBrowserImpl::callRingPlayerInfoMethod(const char *name, int numArg,
nlassert(name);
{
CLuaStackRestorer lsr(_Lua, _Lua->getTop() + numResult);
_Lua->pushValue(LUA_GLOBALSINDEX);
_Lua->pushGlobalTable();
CLuaObject rap(*_Lua);
rap = rap["RingPlayerInfo"];
rap.callMethodByNameNoThrow(name, numArg, numResult);
@ -804,7 +804,7 @@ void CSessionBrowserImpl::callScenarioScoresMethod(const char *name, int numArg,
nlassert(name);
{
CLuaStackRestorer lsr(_Lua, _Lua->getTop() + numResult);
_Lua->pushValue(LUA_GLOBALSINDEX);
_Lua->pushGlobalTable();
CLuaObject rap(*_Lua);
rap = rap["ScenarioScores"];
rap.callMethodByNameNoThrow(name, numArg, numResult);

@ -69,7 +69,7 @@
{
$nel_user = null;
nt_auth_stop_session();
nt_common_redirect('index.php');
nt_common_redirect('');
exit();
}
elseif (isset($NELTOOL['SESSION_VARS']['nelid']) && !empty($NELTOOL['SESSION_VARS']['nelid']))
@ -138,8 +138,11 @@
if (isset($nel_user['new_login']))
{
$default_user_application_id = 0;
if ($nel_user['user_default_application_id'] > 0) $default_user_application_id = $nel_user['user_default_application_id'];
elseif ($nel_user['group_default_application_id'] > 0) $default_user_application_id = $nel_user['group_default_application_id'];
if (isset( $nel_user['user_default_application_id']) &&($nel_user['user_default_application_id'] > 0)) {
$default_user_application_id = $nel_user['user_default_application_id'];
}elseif (isset( $nel_user['group_default_application_id']) &&($nel_user['group_default_application_id'] > 0)) {
$default_user_application_id = $nel_user['group_default_application_id'];
}
if ($default_user_application_id > 0)
{

@ -9,8 +9,8 @@
define('NELTOOL_DBNAME','nel_tool');
// site paths definitions
define('NELTOOL_SITEBASE','http://open.ryzom.com/');
define('NELTOOL_SYSTEMBASE','/home/nevrax/hg/code/ryzom/tools/server/admin/');
define('NELTOOL_SITEBASE',$_SERVER['PHP_SELF']);
define('NELTOOL_SYSTEMBASE',dirname( dirname(__FILE__) ) . '/admin/');
define('NELTOOL_LOGBASE', NELTOOL_SYSTEMBASE .'/logs/');
define('NELTOOL_IMGBASE', NELTOOL_SYSTEMBASE .'/imgs/');

@ -114,7 +114,7 @@ class sql_db
}
else
{
return ( $transaction == END_TRANSACTION ) ? true : false;
return ( $transaction == 'END_TRANSACTION' ) ? true : false;
}
}

@ -1,12 +1,12 @@
<?php
$refresh_rates = array( /* // there values are for debug purposes only
$refresh_rates = array(
array('desc' => 'Every 5 secs',
'secs' => 5,
),
array('desc' => 'Every 30 secs',
'secs' => 30,
),*/
),
array('desc' => 'Every 1 min.',
'secs' => 60,
),

@ -9,7 +9,7 @@
$tpl->assign("tool_v_login", $nel_user['user_name']);
$tpl->assign("tool_v_user_id", $nel_user['user_id']);
$tpl->assign("tool_v_menu", $nel_user['user_menu_style']);
$tpl->assign("tool_v_application", $nel_user['user_default_application_id']);
$tpl->assign("tool_v_application", isset($nel_user['user_default_application_id']) ? $nel_user['user_default_application_id']:'') ;
if (isset($NELTOOL['POST_VARS']['tool_form_user_id']))
{

@ -2,7 +2,7 @@
// This file contains all variables needed by other php scripts
$LogRelativePath = './';
$LogRelativePath = 'logs/';
// ----------------------------------------------------------------------------------------
// Variables for nel database access

Loading…
Cancel
Save