Merge branch 'master' into LuaAPI
This commit is contained in:
commit
546dfaad3e
@ -507,7 +507,6 @@ static int tolua_DoWithXYZ(lua_State* tolua_S)
|
||||
int ItemX = ((int)tolua_tonumber(tolua_S, 2, 0));
|
||||
int ItemY = ((int)tolua_tonumber(tolua_S, 3, 0));
|
||||
int ItemZ = ((int)tolua_tonumber(tolua_S, 4, 0));
|
||||
LOG("x %i y %i z %i", ItemX, ItemY, ItemZ);
|
||||
if (!lua_isfunction( tolua_S, 5))
|
||||
{
|
||||
return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a function for parameter #4");
|
||||
@ -2129,6 +2128,62 @@ static int tolua_cWebAdmin_GetPlugins(lua_State * tolua_S)
|
||||
|
||||
|
||||
|
||||
/** Binding for cWebAdmin::GetHTMLEscapedString.
|
||||
Manual code required because ToLua generates an extra return value */
|
||||
static int tolua_AllToLua_cWebAdmin_GetHTMLEscapedString(lua_State * tolua_S)
|
||||
{
|
||||
// Check the param types:
|
||||
cLuaState S(tolua_S);
|
||||
if (
|
||||
!S.CheckParamUserTable(1, "cWebAdmin") ||
|
||||
!S.CheckParamString(2) ||
|
||||
!S.CheckParamEnd(3)
|
||||
)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get the parameters:
|
||||
AString Input;
|
||||
S.GetStackValue(2, Input);
|
||||
|
||||
// Convert and return:
|
||||
S.Push(cWebAdmin::GetHTMLEscapedString(Input));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** Binding for cWebAdmin::GetURLEncodedString.
|
||||
Manual code required because ToLua generates an extra return value */
|
||||
static int tolua_AllToLua_cWebAdmin_GetURLEncodedString(lua_State * tolua_S)
|
||||
{
|
||||
// Check the param types:
|
||||
cLuaState S(tolua_S);
|
||||
if (
|
||||
!S.CheckParamUserTable(1, "cWebAdmin") ||
|
||||
!S.CheckParamString(2) ||
|
||||
!S.CheckParamEnd(3)
|
||||
)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get the parameters:
|
||||
AString Input;
|
||||
S.GetStackValue(2, Input);
|
||||
|
||||
// Convert and return:
|
||||
S.Push(cWebAdmin::GetURLEncodedString(Input));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static int tolua_cWebPlugin_GetTabNames(lua_State * tolua_S)
|
||||
{
|
||||
cWebPlugin* self = (cWebPlugin*) tolua_tousertype(tolua_S, 1, NULL);
|
||||
@ -3265,7 +3320,9 @@ void ManualBindings::Bind(lua_State * tolua_S)
|
||||
tolua_endmodule(tolua_S);
|
||||
|
||||
tolua_beginmodule(tolua_S, "cWebAdmin");
|
||||
tolua_function(tolua_S, "GetPlugins", tolua_cWebAdmin_GetPlugins);
|
||||
tolua_function(tolua_S, "GetHTMLEscapedString", tolua_AllToLua_cWebAdmin_GetHTMLEscapedString);
|
||||
tolua_function(tolua_S, "GetPlugins", tolua_cWebAdmin_GetPlugins);
|
||||
tolua_function(tolua_S, "GetURLEncodedString", tolua_AllToLua_cWebAdmin_GetURLEncodedString);
|
||||
tolua_endmodule(tolua_S);
|
||||
|
||||
tolua_beginmodule(tolua_S, "cWebPlugin");
|
||||
|
@ -294,6 +294,7 @@ void cBlockInfo::Initialize(cBlockInfoArray & a_Info)
|
||||
a_Info[E_BLOCK_INACTIVE_COMPARATOR ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_LILY_PAD ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_MELON_STEM ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_NETHER_WART ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_POTATOES ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_PUMPKIN_STEM ].m_OneHitDig = true;
|
||||
a_Info[E_BLOCK_REDSTONE_REPEATER_OFF].m_OneHitDig = true;
|
||||
|
@ -32,9 +32,6 @@ void cEnderCrystal::SpawnOn(cClientHandle & a_ClientHandle)
|
||||
void cEnderCrystal::Tick(float a_Dt, cChunk & a_Chunk)
|
||||
{
|
||||
UNUSED(a_Dt);
|
||||
|
||||
a_Chunk.SetBlock(POSX_TOINT, POSY_TOINT, POSZ_TOINT, E_BLOCK_FIRE, 0);
|
||||
|
||||
// No further processing (physics e.t.c.) is needed
|
||||
}
|
||||
|
||||
@ -49,6 +46,9 @@ void cEnderCrystal::KilledBy(TakeDamageInfo & a_TDI)
|
||||
m_World->DoExplosionAt(6.0, GetPosX(), GetPosY(), GetPosZ(), true, esEnderCrystal, this);
|
||||
|
||||
Destroy();
|
||||
|
||||
m_World->SetBlock(POSX_TOINT, POSY_TOINT, POSZ_TOINT, E_BLOCK_BEDROCK, 0);
|
||||
m_World->SetBlock(POSX_TOINT, POSY_TOINT + 1, POSZ_TOINT, E_BLOCK_FIRE, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -484,8 +484,6 @@ int cFinishGenSingleTopBlock::GetNumToGen(const cChunkDef::BiomeMap & a_BiomeMap
|
||||
|
||||
void cFinishGenSingleTopBlock::GenFinish(cChunkDesc & a_ChunkDesc)
|
||||
{
|
||||
// Add Lilypads on top of water surface in Swampland
|
||||
|
||||
int NumToGen = GetNumToGen(a_ChunkDesc.GetBiomeMap());
|
||||
int ChunkX = a_ChunkDesc.GetChunkX();
|
||||
int ChunkZ = a_ChunkDesc.GetChunkZ();
|
||||
|
@ -444,6 +444,38 @@ AString cWebAdmin::GetHTMLEscapedString(const AString & a_Input)
|
||||
|
||||
|
||||
|
||||
AString cWebAdmin::GetURLEncodedString(const AString & a_Input)
|
||||
{
|
||||
// Translation table from nibble to hex:
|
||||
static const char Hex[] = "0123456789abcdef";
|
||||
|
||||
// Preallocate the output to match input:
|
||||
AString dst;
|
||||
size_t len = a_Input.length();
|
||||
dst.reserve(len);
|
||||
|
||||
// Loop over input and substitute whatever is needed:
|
||||
for (size_t i = 0; i < len; i++)
|
||||
{
|
||||
char ch = a_Input[i];
|
||||
if (isalnum(ch) || (ch == '-') || (ch == '_') || (ch == '.') || (ch == '~'))
|
||||
{
|
||||
dst.push_back(ch);
|
||||
}
|
||||
else
|
||||
{
|
||||
dst.push_back('%');
|
||||
dst.push_back(Hex[(ch >> 4) & 0x0f]);
|
||||
dst.push_back(Hex[ch & 0x0f]);
|
||||
}
|
||||
} // for i - a_Input[]
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
AString cWebAdmin::GetBaseURL(const AStringVector & a_URLSplit)
|
||||
{
|
||||
AString BaseURL = "./";
|
||||
|
@ -132,16 +132,19 @@ public:
|
||||
/** Returns the prefix needed for making a link point to the webadmin root from the given URL ("../../../webadmin"-style) */
|
||||
AString GetBaseURL(const AString & a_URL);
|
||||
|
||||
/** Escapes text passed into it, so it can be embedded into html. */
|
||||
static AString GetHTMLEscapedString(const AString & a_Input);
|
||||
|
||||
AString GetIPv4Ports(void) const { return m_PortsIPv4; }
|
||||
AString GetIPv6Ports(void) const { return m_PortsIPv6; }
|
||||
|
||||
// tolua_end
|
||||
|
||||
/** Escapes text passed into it, so it can be embedded into html. */
|
||||
static AString GetHTMLEscapedString(const AString & a_Input);
|
||||
|
||||
/** Escapes the string for use in an URL */
|
||||
static AString GetURLEncodedString(const AString & a_Input);
|
||||
|
||||
/** Returns the prefix needed for making a link point to the webadmin root from the given URL ("../../../webadmin"-style) */
|
||||
AString GetBaseURL(const AStringVector& a_URLSplit);
|
||||
static AString GetBaseURL(const AStringVector & a_URLSplit);
|
||||
|
||||
protected:
|
||||
/** Common base class for request body data handlers */
|
||||
|
Loading…
Reference in New Issue
Block a user