Added UpdateSign() method to DeprecatedBindings.cpp
This commit is contained in:
parent
277151582f
commit
0e491273c1
@ -7,6 +7,33 @@
|
||||
|
||||
|
||||
#include "../BlockInfo.h"
|
||||
#include "../World.h"
|
||||
#include "../Entities/Player.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static void lua_do_warning(lua_State* L, const char * a_pFormat, ...)
|
||||
{
|
||||
// Retrieve current function name
|
||||
lua_Debug entry;
|
||||
VERIFY(lua_getstack(L, 0, &entry));
|
||||
VERIFY(lua_getinfo(L, "n", &entry));
|
||||
|
||||
// Insert function name into error msg
|
||||
AString msg(a_pFormat);
|
||||
ReplaceString(msg, "#funcname#", entry.name?entry.name:"?");
|
||||
|
||||
// Copied from luaL_error and modified
|
||||
va_list argp;
|
||||
va_start(argp, a_pFormat);
|
||||
luaL_where(L, 1);
|
||||
lua_pushvfstring(L, msg.c_str(), argp);
|
||||
va_end(argp);
|
||||
lua_concat(L, 2);
|
||||
lua_error(L);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -222,6 +249,61 @@ static int tolua_get_AllToLua_g_BlockFullyOccupiesVoxel(lua_State* tolua_S)
|
||||
|
||||
|
||||
|
||||
/** function: cWorld:SetSignLines */
|
||||
static int tolua_cWorld_SetSignLines(lua_State * tolua_S)
|
||||
{
|
||||
#ifndef TOLUA_RELEASE
|
||||
tolua_Error tolua_err;
|
||||
if (
|
||||
!tolua_isusertype (tolua_S, 1, "cWorld", 0, &tolua_err) ||
|
||||
!tolua_isnumber (tolua_S, 2, 0, &tolua_err) ||
|
||||
!tolua_isnumber (tolua_S, 3, 0, &tolua_err) ||
|
||||
!tolua_isnumber (tolua_S, 4, 0, &tolua_err) ||
|
||||
!tolua_iscppstring(tolua_S, 5, 0, &tolua_err) ||
|
||||
!tolua_iscppstring(tolua_S, 6, 0, &tolua_err) ||
|
||||
!tolua_iscppstring(tolua_S, 7, 0, &tolua_err) ||
|
||||
!tolua_iscppstring(tolua_S, 8, 0, &tolua_err) ||
|
||||
!tolua_isusertype (tolua_S, 9, "cPlayer", 1, &tolua_err) ||
|
||||
!tolua_isnoobj (tolua_S, 10, &tolua_err)
|
||||
)
|
||||
goto tolua_lerror;
|
||||
else
|
||||
#endif
|
||||
{
|
||||
cWorld * self = (cWorld *) tolua_tousertype (tolua_S, 1, nullptr);
|
||||
int BlockX = (int) tolua_tonumber (tolua_S, 2, 0);
|
||||
int BlockY = (int) tolua_tonumber (tolua_S, 3, 0);
|
||||
int BlockZ = (int) tolua_tonumber (tolua_S, 4, 0);
|
||||
const AString Line1 = tolua_tocppstring(tolua_S, 5, 0);
|
||||
const AString Line2 = tolua_tocppstring(tolua_S, 6, 0);
|
||||
const AString Line3 = tolua_tocppstring(tolua_S, 7, 0);
|
||||
const AString Line4 = tolua_tocppstring(tolua_S, 8, 0);
|
||||
cPlayer * Player = (cPlayer *)tolua_tousertype (tolua_S, 9, nullptr);
|
||||
#ifndef TOLUA_RELEASE
|
||||
if (self == nullptr)
|
||||
{
|
||||
tolua_error(tolua_S, "invalid 'self' in function 'UpdateSign'", nullptr);
|
||||
}
|
||||
#endif
|
||||
{
|
||||
bool res = self->SetSignLines(BlockX, BlockY, BlockZ, Line1, Line2, Line3, Line4, Player);
|
||||
tolua_pushboolean(tolua_S, res ? 1 : 0);
|
||||
}
|
||||
}
|
||||
lua_do_warning(tolua_S, "Warning in function call '#funcname#': UpdateSign() is deprecated. Please use SetSignLines()");
|
||||
return 1;
|
||||
|
||||
#ifndef TOLUA_RELEASE
|
||||
tolua_lerror:
|
||||
tolua_error(tolua_S, "#ferror in function 'UpdateSign'.", &tolua_err);
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void DeprecatedBindings::Bind(lua_State * tolua_S)
|
||||
{
|
||||
tolua_beginmodule(tolua_S, nullptr);
|
||||
@ -235,6 +317,10 @@ void DeprecatedBindings::Bind(lua_State * tolua_S)
|
||||
tolua_array(tolua_S, "g_BlockIsSolid", tolua_get_AllToLua_g_BlockIsSolid, nullptr);
|
||||
tolua_array(tolua_S, "g_BlockFullyOccupiesVoxel", tolua_get_AllToLua_g_BlockFullyOccupiesVoxel, nullptr);
|
||||
|
||||
tolua_beginmodule(tolua_S, "cWorld");
|
||||
tolua_function(tolua_S, "UpdateSign", tolua_cWorld_SetSignLines);
|
||||
tolua_endmodule(tolua_S);
|
||||
|
||||
tolua_endmodule(tolua_S);
|
||||
}
|
||||
|
||||
|
@ -1034,7 +1034,7 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S)
|
||||
#ifndef TOLUA_RELEASE
|
||||
if (self == nullptr)
|
||||
{
|
||||
tolua_error(tolua_S, "invalid 'self' in function 'SetSignLines' / 'UpdateSign'", nullptr);
|
||||
tolua_error(tolua_S, "invalid 'self' in function 'SetSignLines'", nullptr);
|
||||
}
|
||||
#endif
|
||||
{
|
||||
@ -1046,7 +1046,7 @@ static int tolua_cWorld_SetSignLines(lua_State * tolua_S)
|
||||
|
||||
#ifndef TOLUA_RELEASE
|
||||
tolua_lerror:
|
||||
tolua_error(tolua_S, "#ferror in function 'SetSignLines' / 'UpdateSign'.", &tolua_err);
|
||||
tolua_error(tolua_S, "#ferror in function 'SetSignLines'.", &tolua_err);
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
@ -3405,7 +3405,6 @@ void ManualBindings::Bind(lua_State * tolua_S)
|
||||
tolua_function(tolua_S, "ScheduleTask", tolua_cWorld_ScheduleTask);
|
||||
tolua_function(tolua_S, "SetSignLines", tolua_cWorld_SetSignLines);
|
||||
tolua_function(tolua_S, "TryGetHeight", tolua_cWorld_TryGetHeight);
|
||||
tolua_function(tolua_S, "UpdateSign", tolua_cWorld_SetSignLines);
|
||||
tolua_endmodule(tolua_S);
|
||||
|
||||
tolua_beginmodule(tolua_S, "cMapManager");
|
||||
|
Loading…
Reference in New Issue
Block a user