mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-18 15:48:48 +00:00
SWORD25: Moved the Lua library into it's own namespace
Previously with some of the files I was leaving the #include references to the library inside the global namespace. However, since the engine itself is now inside a namespace, I had to do a lot of changes, such as lua_State to ::lua_State. This way is cleaner, and I just need to add a 'using namespace Lua' where needed. svn-id: r53198
This commit is contained in:
parent
53a9d2d0a1
commit
2006e564a1
@ -36,23 +36,20 @@
|
|||||||
#define SWORD25_STDWININPUT_H
|
#define SWORD25_STDWININPUT_H
|
||||||
|
|
||||||
/// Includes
|
/// Includes
|
||||||
#include "sword25/kernel/memlog_off.h"
|
#include "common/scummsys.h"
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#include "common/list.h"
|
||||||
#include <windows.h>
|
|
||||||
#include <list>
|
|
||||||
#include "sword25/kernel/memlog_on.h"
|
|
||||||
|
|
||||||
#include "sword25/kernel/common.h"
|
#include "sword25/kernel/common.h"
|
||||||
#include "sword25/input/inputengine.h"
|
#include "sword25/input/inputengine.h"
|
||||||
|
|
||||||
/// Klassendefinitionen
|
namespace Sword25 {
|
||||||
|
|
||||||
|
/// Forward class definitions
|
||||||
class BS_Kernel;
|
class BS_Kernel;
|
||||||
|
|
||||||
/// Klassendefinition
|
/// Class definitions
|
||||||
class BS_StdWinInput : public BS_InputEngine
|
class BS_StdWinInput : public BS_InputEngine {
|
||||||
{
|
|
||||||
public:
|
public:
|
||||||
BS_StdWinInput(BS_Kernel* pKernel);
|
BS_StdWinInput(BS_Kernel *pKernel);
|
||||||
virtual ~BS_StdWinInput();
|
virtual ~BS_StdWinInput();
|
||||||
|
|
||||||
virtual bool Init();
|
virtual bool Init();
|
||||||
@ -75,13 +72,13 @@ public:
|
|||||||
virtual void ReportCharacter(unsigned char Character);
|
virtual void ReportCharacter(unsigned char Character);
|
||||||
virtual void ReportCommand(KEY_COMMANDS Command);
|
virtual void ReportCommand(KEY_COMMANDS Command);
|
||||||
|
|
||||||
bool Persist(BS_OutputPersistenceBlock & Writer);
|
bool Persist(BS_OutputPersistenceBlock &Writer);
|
||||||
bool Unpersist(BS_InputPersistenceBlock & Reader);
|
bool Unpersist(BS_InputPersistenceBlock &Reader);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void TestForLeftDoubleClick();
|
void TestForLeftDoubleClick();
|
||||||
|
|
||||||
BYTE m_KeyboardState[2][256];
|
byte m_KeyboardState[2][256];
|
||||||
bool m_LeftMouseState[2];
|
bool m_LeftMouseState[2];
|
||||||
bool m_RightMouseState[2];
|
bool m_RightMouseState[2];
|
||||||
unsigned int m_CurrentState;
|
unsigned int m_CurrentState;
|
||||||
@ -96,8 +93,10 @@ private:
|
|||||||
unsigned int m_LastLeftClickTime;
|
unsigned int m_LastLeftClickTime;
|
||||||
int m_LastLeftClickMouseX;
|
int m_LastLeftClickMouseX;
|
||||||
int m_LastLeftClickMouseY;
|
int m_LastLeftClickMouseY;
|
||||||
std::list<CommandCallback> m_CommandCallbacks;
|
Common::List<CommandCallback> m_CommandCallbacks;
|
||||||
std::list<CharacterCallback> m_CharacterCallbacks;
|
Common::List<CharacterCallback> m_CharacterCallbacks;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // End of namespace Sword25
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -64,7 +64,7 @@ namespace Sword25 {
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
// How luaL_checkudata, only without that no error is generated.
|
// How luaL_checkudata, only without that no error is generated.
|
||||||
static void *my_checkudata(::lua_State *L, int ud, const char *tname) {
|
static void *my_checkudata(lua_State *L, int ud, const char *tname) {
|
||||||
int top = lua_gettop(L);
|
int top = lua_gettop(L);
|
||||||
|
|
||||||
void * p = lua_touserdata(L, ud);
|
void * p = lua_touserdata(L, ud);
|
||||||
@ -88,14 +88,14 @@ static void *my_checkudata(::lua_State *L, int ud, const char *tname) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void NewUintUserData(::lua_State *L, unsigned int Value) {
|
static void NewUintUserData(lua_State *L, unsigned int Value) {
|
||||||
void * UserData = lua_newuserdata(L, sizeof(Value));
|
void * UserData = lua_newuserdata(L, sizeof(Value));
|
||||||
memcpy(UserData, &Value, sizeof(Value));
|
memcpy(UserData, &Value, sizeof(Value));
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static bool IsValidPolygonDefinition(::lua_State *L) {
|
static bool IsValidPolygonDefinition(lua_State *L) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -140,7 +140,7 @@ static bool IsValidPolygonDefinition(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void TablePolygonToPolygon(::lua_State *L, BS_Polygon &Polygon) {
|
static void TablePolygonToPolygon(lua_State *L, BS_Polygon &Polygon) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -184,7 +184,7 @@ static void TablePolygonToPolygon(::lua_State *L, BS_Polygon &Polygon) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static unsigned int TableRegionToRegion(::lua_State *L, const char *ClassName) {
|
static unsigned int TableRegionToRegion(lua_State *L, const char *ClassName) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -268,7 +268,7 @@ static unsigned int TableRegionToRegion(::lua_State *L, const char *ClassName) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void NewUserdataRegion(::lua_State *L, const char *ClassName)
|
static void NewUserdataRegion(lua_State *L, const char *ClassName)
|
||||||
{
|
{
|
||||||
// Region due to the Lua code to create
|
// Region due to the Lua code to create
|
||||||
// Any errors that occur will be intercepted to the luaL_error
|
// Any errors that occur will be intercepted to the luaL_error
|
||||||
@ -284,14 +284,14 @@ static void NewUserdataRegion(::lua_State *L, const char *ClassName)
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int NewRegion(::lua_State *L) {
|
static int NewRegion(lua_State *L) {
|
||||||
NewUserdataRegion(L, REGION_CLASS_NAME);
|
NewUserdataRegion(L, REGION_CLASS_NAME);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int NewWalkRegion(::lua_State *L) {
|
static int NewWalkRegion(lua_State *L) {
|
||||||
NewUserdataRegion(L, WALKREGION_CLASS_NAME);
|
NewUserdataRegion(L, WALKREGION_CLASS_NAME);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -308,7 +308,7 @@ static const luaL_reg GEO_FUNCTIONS[] = {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static BS_Region * CheckRegion(::lua_State *L) {
|
static BS_Region * CheckRegion(lua_State *L) {
|
||||||
// The first parameter must be of type 'userdata', and the Metatable class Geo.Region or Geo.WalkRegion
|
// The first parameter must be of type 'userdata', and the Metatable class Geo.Region or Geo.WalkRegion
|
||||||
unsigned int *RegionHandlePtr;
|
unsigned int *RegionHandlePtr;
|
||||||
if ((RegionHandlePtr = reinterpret_cast<unsigned int *>(my_checkudata(L, 1, REGION_CLASS_NAME))) != 0 ||
|
if ((RegionHandlePtr = reinterpret_cast<unsigned int *>(my_checkudata(L, 1, REGION_CLASS_NAME))) != 0 ||
|
||||||
@ -324,7 +324,7 @@ static BS_Region * CheckRegion(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_IsValid(::lua_State *L) {
|
static int R_IsValid(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -334,7 +334,7 @@ static int R_IsValid(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_GetX(::lua_State *L) {
|
static int R_GetX(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -344,7 +344,7 @@ static int R_GetX(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_GetY(::lua_State *L) {
|
static int R_GetY(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -354,7 +354,7 @@ static int R_GetY(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_GetPos(::lua_State *L) {
|
static int R_GetPos(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -364,7 +364,7 @@ static int R_GetPos(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_IsPointInRegion(::lua_State *L) {
|
static int R_IsPointInRegion(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ static int R_IsPointInRegion(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_SetPos(::lua_State *L) {
|
static int R_SetPos(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -389,7 +389,7 @@ static int R_SetPos(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_SetX(::lua_State *L) {
|
static int R_SetX(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -400,7 +400,7 @@ static int R_SetX(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_SetY(::lua_State *L) {
|
static int R_SetY(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -431,7 +431,7 @@ static void DrawRegion(const BS_Region &Region, unsigned int Color, const BS_Ver
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_Draw(::lua_State *L) {
|
static int R_Draw(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
|
|
||||||
@ -456,7 +456,7 @@ static int R_Draw(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_GetCentroid(::lua_State *L) {
|
static int R_GetCentroid(lua_State *L) {
|
||||||
BS_Region * RPtr = CheckRegion(L);
|
BS_Region * RPtr = CheckRegion(L);
|
||||||
BS_ASSERT(RPtr);
|
BS_ASSERT(RPtr);
|
||||||
|
|
||||||
@ -467,7 +467,7 @@ static int R_GetCentroid(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int R_Delete(::lua_State *L) {
|
static int R_Delete(lua_State *L) {
|
||||||
BS_Region * pR = CheckRegion(L);
|
BS_Region * pR = CheckRegion(L);
|
||||||
BS_ASSERT(pR);
|
BS_ASSERT(pR);
|
||||||
delete pR;
|
delete pR;
|
||||||
@ -492,7 +492,7 @@ static const luaL_reg REGION_METHODS[] = {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static BS_WalkRegion *CheckWalkRegion(::lua_State *L) {
|
static BS_WalkRegion *CheckWalkRegion(lua_State *L) {
|
||||||
// The first parameter must be of type 'userdate', and the Metatable class Geo.WalkRegion
|
// The first parameter must be of type 'userdate', and the Metatable class Geo.WalkRegion
|
||||||
unsigned int RegionHandle;
|
unsigned int RegionHandle;
|
||||||
if ((RegionHandle = *reinterpret_cast<unsigned int *>(my_checkudata(L, 1, WALKREGION_CLASS_NAME))) != 0) {
|
if ((RegionHandle = *reinterpret_cast<unsigned int *>(my_checkudata(L, 1, WALKREGION_CLASS_NAME))) != 0) {
|
||||||
@ -507,7 +507,7 @@ static BS_WalkRegion *CheckWalkRegion(::lua_State *L) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
static int WR_GetPath(::lua_State *L) {
|
static int WR_GetPath(lua_State *L) {
|
||||||
BS_WalkRegion *pWR = CheckWalkRegion(L);
|
BS_WalkRegion *pWR = CheckWalkRegion(L);
|
||||||
BS_ASSERT(pWR);
|
BS_ASSERT(pWR);
|
||||||
|
|
||||||
@ -544,7 +544,7 @@ bool BS_Geometry::_RegisterScriptBindings() {
|
|||||||
BS_ASSERT(pKernel);
|
BS_ASSERT(pKernel);
|
||||||
BS_ScriptEngine * pScript = static_cast<BS_ScriptEngine *>(pKernel->GetService("script"));
|
BS_ScriptEngine * pScript = static_cast<BS_ScriptEngine *>(pKernel->GetService("script"));
|
||||||
BS_ASSERT(pScript);
|
BS_ASSERT(pScript);
|
||||||
::lua_State *L = static_cast< ::lua_State *>(pScript->GetScriptObject());
|
lua_State *L = static_cast< lua_State *>(pScript->GetScriptObject());
|
||||||
BS_ASSERT(L);
|
BS_ASSERT(L);
|
||||||
|
|
||||||
if (!BS_LuaBindhelper::AddMethodsToClass(L, REGION_CLASS_NAME, REGION_METHODS)) return false;
|
if (!BS_LuaBindhelper::AddMethodsToClass(L, REGION_CLASS_NAME, REGION_METHODS)) return false;
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "sword25/math/vertex.h"
|
#include "sword25/math/vertex.h"
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
|
@ -46,13 +46,15 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "sword25/kernel/common.h"
|
#include "sword25/kernel/common.h"
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
// Forward declarations
|
// Forward declarations
|
||||||
struct lua_State;
|
struct lua_State;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using namespace Lua;
|
||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,8 +153,8 @@ public:
|
|||||||
return sqrtf(static_cast<float>(X * X + Y * Y));
|
return sqrtf(static_cast<float>(X * X + Y * Y));
|
||||||
}
|
}
|
||||||
|
|
||||||
static BS_Vertex & LuaVertexToVertex(lua_State * L, int StackIndex, BS_Vertex & Vertex);
|
static BS_Vertex &LuaVertexToVertex(lua_State *L, int StackIndex, BS_Vertex &Vertex);
|
||||||
static void VertexToLuaVertex(lua_State * L, const BS_Vertex & Vertex);
|
static void VertexToLuaVertex(lua_State *L, const BS_Vertex &Vertex);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // End of namespace Sword25
|
} // End of namespace Sword25
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
static int Warning(::lua_State *L) {
|
static int Warning(lua_State *L) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -73,7 +73,7 @@ static const luaL_reg GLOBAL_FUNCTIONS[] = {
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool BS_LuaScriptEngine::RegisterStandardLibExtensions() {
|
bool BS_LuaScriptEngine::RegisterStandardLibExtensions() {
|
||||||
::lua_State *L = m_State;
|
lua_State *L = m_State;
|
||||||
BS_ASSERT(m_State);
|
BS_ASSERT(m_State);
|
||||||
|
|
||||||
if (!BS_LuaBindhelper::AddFunctionsToLib(L, "", GLOBAL_FUNCTIONS)) return false;
|
if (!BS_LuaBindhelper::AddFunctionsToLib(L, "", GLOBAL_FUNCTIONS)) return false;
|
||||||
|
@ -48,7 +48,7 @@ namespace {
|
|||||||
const char * METATABLES_TABLE_NAME = "__METATABLES";
|
const char * METATABLES_TABLE_NAME = "__METATABLES";
|
||||||
const char * PERMANENTS_TABLE_NAME = "Permanents";
|
const char * PERMANENTS_TABLE_NAME = "Permanents";
|
||||||
|
|
||||||
bool RegisterPermanent(::lua_State *L, const Common::String &Name) {
|
bool RegisterPermanent(lua_State *L, const Common::String &Name) {
|
||||||
// A C function has to be on the stack
|
// A C function has to be on the stack
|
||||||
if (!lua_iscfunction(L, -1)) return false;
|
if (!lua_iscfunction(L, -1)) return false;
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ namespace Sword25 {
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
bool BS_LuaBindhelper::AddFunctionsToLib(::lua_State *L, const Common::String &LibName, const luaL_reg *Functions) {
|
bool BS_LuaBindhelper::AddFunctionsToLib(lua_State *L, const Common::String &LibName, const luaL_reg *Functions) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -151,7 +151,7 @@ bool BS_LuaBindhelper::AddFunctionsToLib(::lua_State *L, const Common::String &L
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
bool BS_LuaBindhelper::AddConstantsToLib(::lua_State *L, const Common::String &LibName, const lua_constant_reg *Constants) {
|
bool BS_LuaBindhelper::AddConstantsToLib(lua_State *L, const Common::String &LibName, const lua_constant_reg *Constants) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -198,7 +198,7 @@ bool BS_LuaBindhelper::AddConstantsToLib(::lua_State *L, const Common::String &L
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
bool BS_LuaBindhelper::AddMethodsToClass(::lua_State *L, const Common::String &ClassName, const luaL_reg *Methods) {
|
bool BS_LuaBindhelper::AddMethodsToClass(lua_State *L, const Common::String &ClassName, const luaL_reg *Methods) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -238,7 +238,7 @@ bool BS_LuaBindhelper::AddMethodsToClass(::lua_State *L, const Common::String &C
|
|||||||
* @param GCHandler A function pointer
|
* @param GCHandler A function pointer
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
bool BS_LuaBindhelper::SetClassGCHandler(::lua_State *L, const Common::String &ClassName, lua_CFunction GCHandler) {
|
bool BS_LuaBindhelper::SetClassGCHandler(lua_State *L, const Common::String &ClassName, lua_CFunction GCHandler) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int __startStackDepth = lua_gettop(L);
|
int __startStackDepth = lua_gettop(L);
|
||||||
#endif
|
#endif
|
||||||
@ -271,7 +271,7 @@ bool BS_LuaBindhelper::SetClassGCHandler(::lua_State *L, const Common::String &C
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
void PushMetatableTable(::lua_State *L) {
|
void PushMetatableTable(lua_State *L) {
|
||||||
// Push the Metatable table onto the stack
|
// Push the Metatable table onto the stack
|
||||||
lua_getglobal(L, METATABLES_TABLE_NAME);
|
lua_getglobal(L, METATABLES_TABLE_NAME);
|
||||||
|
|
||||||
@ -290,7 +290,7 @@ namespace {
|
|||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
bool BS_LuaBindhelper::GetMetatable(::lua_State *L, const Common::String &TableName) {
|
bool BS_LuaBindhelper::GetMetatable(lua_State *L, const Common::String &TableName) {
|
||||||
// Push the Metatable table onto the stack
|
// Push the Metatable table onto the stack
|
||||||
PushMetatableTable(L);
|
PushMetatableTable(L);
|
||||||
|
|
||||||
@ -324,7 +324,7 @@ bool BS_LuaBindhelper::GetMetatable(::lua_State *L, const Common::String &TableN
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool BS_LuaBindhelper::_CreateTable(::lua_State *L, const Common::String &TableName) {
|
bool BS_LuaBindhelper::_CreateTable(lua_State *L, const Common::String &TableName) {
|
||||||
const char *PartBegin = TableName.c_str();
|
const char *PartBegin = TableName.c_str();
|
||||||
|
|
||||||
while (PartBegin) {
|
while (PartBegin) {
|
||||||
@ -373,7 +373,7 @@ bool BS_LuaBindhelper::_CreateTable(::lua_State *L, const Common::String &TableN
|
|||||||
} // End of namespace Sword25
|
} // End of namespace Sword25
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
Common::String GetLuaValueInfo(::lua_State *L, int StackIndex) {
|
Common::String GetLuaValueInfo(lua_State *L, int StackIndex) {
|
||||||
switch (lua_type(L, StackIndex)) {
|
switch (lua_type(L, StackIndex)) {
|
||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
lua_pushstring(L, lua_tostring(L, StackIndex));
|
lua_pushstring(L, lua_tostring(L, StackIndex));
|
||||||
@ -405,7 +405,7 @@ namespace {
|
|||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
Common::String BS_LuaBindhelper::StackDump(::lua_State *L) {
|
Common::String BS_LuaBindhelper::StackDump(lua_State *L) {
|
||||||
Common::String oss;
|
Common::String oss;
|
||||||
|
|
||||||
int i = lua_gettop(L);
|
int i = lua_gettop(L);
|
||||||
@ -421,7 +421,7 @@ Common::String BS_LuaBindhelper::StackDump(::lua_State *L) {
|
|||||||
return oss;
|
return oss;
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::String BS_LuaBindhelper::TableDump(::lua_State *L) {
|
Common::String BS_LuaBindhelper::TableDump(lua_State *L) {
|
||||||
Common::String oss;
|
Common::String oss;
|
||||||
|
|
||||||
oss += "------------------- Table Dump -------------------\n";
|
oss += "------------------- Table Dump -------------------\n";
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
#include "sword25/kernel/common.h"
|
#include "sword25/kernel/common.h"
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
@ -47,6 +47,8 @@ extern "C"
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using namespace Lua;
|
||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
#define lua_pushbooleancpp(L, b) (lua_pushboolean(L, b ? 1 : 0))
|
#define lua_pushbooleancpp(L, b) (lua_pushboolean(L, b ? 1 : 0))
|
||||||
@ -68,7 +70,7 @@ public:
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
static bool AddFunctionsToLib(::lua_State *L, const Common::String &LibName, const luaL_reg *Functions);
|
static bool AddFunctionsToLib(lua_State *L, const Common::String &LibName, const luaL_reg *Functions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a set of constants to the Lua library
|
* Adds a set of constants to the Lua library
|
||||||
@ -79,7 +81,7 @@ public:
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
static bool AddConstantsToLib(::lua_State * L, const Common::String & LibName, const lua_constant_reg * Constants);
|
static bool AddConstantsToLib(lua_State * L, const Common::String & LibName, const lua_constant_reg * Constants);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a set of methods to a Lua class
|
* Adds a set of methods to a Lua class
|
||||||
@ -90,7 +92,7 @@ public:
|
|||||||
* The array must be terminated with the enry (0, 0)
|
* The array must be terminated with the enry (0, 0)
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
static bool AddMethodsToClass(::lua_State *L, const Common::String &ClassName, const luaL_reg *Methods);
|
static bool AddMethodsToClass(lua_State *L, const Common::String &ClassName, const luaL_reg *Methods);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the garbage collector callback method when items of a particular class are deleted
|
* Sets the garbage collector callback method when items of a particular class are deleted
|
||||||
@ -100,25 +102,25 @@ public:
|
|||||||
* @param GCHandler A function pointer
|
* @param GCHandler A function pointer
|
||||||
* @return Returns true if successful, otherwise false.
|
* @return Returns true if successful, otherwise false.
|
||||||
*/
|
*/
|
||||||
static bool SetClassGCHandler(::lua_State *L, const Common::String &ClassName, lua_CFunction GCHandler);
|
static bool SetClassGCHandler(lua_State *L, const Common::String &ClassName, lua_CFunction GCHandler);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a string containing a stack dump of the Lua stack
|
* Returns a string containing a stack dump of the Lua stack
|
||||||
* @param L A pointer to the Lua VM
|
* @param L A pointer to the Lua VM
|
||||||
*/
|
*/
|
||||||
static Common::String StackDump(::lua_State *L);
|
static Common::String StackDump(lua_State *L);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a string that describes the contents of a table
|
* Returns a string that describes the contents of a table
|
||||||
* @param L A pointer to the Lua VM
|
* @param L A pointer to the Lua VM
|
||||||
* @remark The table must be on the Lua stack to be read out.
|
* @remark The table must be on the Lua stack to be read out.
|
||||||
*/
|
*/
|
||||||
static Common::String TableDump(::lua_State *L);
|
static Common::String TableDump(lua_State *L);
|
||||||
|
|
||||||
static bool GetMetatable(::lua_State *L, const Common::String &TableName);
|
static bool GetMetatable(lua_State *L, const Common::String &TableName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static bool _CreateTable(::lua_State *L, const Common::String &TableName);
|
static bool _CreateTable(lua_State *L, const Common::String &TableName);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // End of namespace Sword25
|
} // End of namespace Sword25
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#include "sword25/script/luacallback.h"
|
#include "sword25/script/luacallback.h"
|
||||||
#include "sword25/script/luabindhelper.h"
|
#include "sword25/script/luabindhelper.h"
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ namespace Sword25 {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
BS_LuaCallback::BS_LuaCallback(::lua_State *L) {
|
BS_LuaCallback::BS_LuaCallback(lua_State *L) {
|
||||||
// Create callback table
|
// Create callback table
|
||||||
lua_newtable(L);
|
lua_newtable(L);
|
||||||
lua_setglobal(L, CALLBACKTABLE_NAME);
|
lua_setglobal(L, CALLBACKTABLE_NAME);
|
||||||
@ -72,7 +72,7 @@ BS_LuaCallback::~BS_LuaCallback() {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::RegisterCallbackFunction(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::RegisterCallbackFunction(lua_State *L, unsigned int ObjectHandle) {
|
||||||
BS_ASSERT(lua_isfunction(L, -1));
|
BS_ASSERT(lua_isfunction(L, -1));
|
||||||
EnsureObjectCallbackTableExists(L, ObjectHandle);
|
EnsureObjectCallbackTableExists(L, ObjectHandle);
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ void BS_LuaCallback::RegisterCallbackFunction(::lua_State *L, unsigned int Objec
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::UnregisterCallbackFunction(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::UnregisterCallbackFunction(lua_State *L, unsigned int ObjectHandle) {
|
||||||
BS_ASSERT(lua_isfunction(L, -1));
|
BS_ASSERT(lua_isfunction(L, -1));
|
||||||
EnsureObjectCallbackTableExists(L,ObjectHandle);
|
EnsureObjectCallbackTableExists(L,ObjectHandle);
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ void BS_LuaCallback::UnregisterCallbackFunction(::lua_State *L, unsigned int Obj
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::RemoveAllObjectCallbacks(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::RemoveAllObjectCallbacks(lua_State *L, unsigned int ObjectHandle) {
|
||||||
PushCallbackTable(L);
|
PushCallbackTable(L);
|
||||||
|
|
||||||
// Remove the object callback from the callback table
|
// Remove the object callback from the callback table
|
||||||
@ -129,7 +129,7 @@ void BS_LuaCallback::RemoveAllObjectCallbacks(::lua_State *L, unsigned int Objec
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::InvokeCallbackFunctions(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::InvokeCallbackFunctions(lua_State *L, unsigned int ObjectHandle) {
|
||||||
EnsureObjectCallbackTableExists(L, ObjectHandle);
|
EnsureObjectCallbackTableExists(L, ObjectHandle);
|
||||||
|
|
||||||
// Iterate through the table and perform all the callbacks
|
// Iterate through the table and perform all the callbacks
|
||||||
@ -164,7 +164,7 @@ void BS_LuaCallback::InvokeCallbackFunctions(::lua_State *L, unsigned int Object
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::EnsureObjectCallbackTableExists(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::EnsureObjectCallbackTableExists(lua_State *L, unsigned int ObjectHandle) {
|
||||||
PushObjectCallbackTable(L, ObjectHandle);
|
PushObjectCallbackTable(L, ObjectHandle);
|
||||||
|
|
||||||
// If the table is nil, it must first be created
|
// If the table is nil, it must first be created
|
||||||
@ -187,13 +187,13 @@ void BS_LuaCallback::EnsureObjectCallbackTableExists(::lua_State *L, unsigned in
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::PushCallbackTable(::lua_State *L) {
|
void BS_LuaCallback::PushCallbackTable(lua_State *L) {
|
||||||
lua_getglobal(L, CALLBACKTABLE_NAME);
|
lua_getglobal(L, CALLBACKTABLE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void BS_LuaCallback::PushObjectCallbackTable(::lua_State *L, unsigned int ObjectHandle) {
|
void BS_LuaCallback::PushObjectCallbackTable(lua_State *L, unsigned int ObjectHandle) {
|
||||||
PushCallbackTable(L);
|
PushCallbackTable(L);
|
||||||
|
|
||||||
// Push Object Callback table onto the stack
|
// Push Object Callback table onto the stack
|
||||||
|
@ -45,12 +45,14 @@
|
|||||||
// Forward Declarations
|
// Forward Declarations
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
struct lua_State;
|
struct lua_State;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using namespace Lua;
|
||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
@ -59,26 +61,26 @@ namespace Sword25 {
|
|||||||
|
|
||||||
class BS_LuaCallback {
|
class BS_LuaCallback {
|
||||||
public:
|
public:
|
||||||
BS_LuaCallback(::lua_State * L);
|
BS_LuaCallback(lua_State * L);
|
||||||
virtual ~BS_LuaCallback();
|
virtual ~BS_LuaCallback();
|
||||||
|
|
||||||
// Funktion muss auf dem Lua-Stack liegen.
|
// Funktion muss auf dem Lua-Stack liegen.
|
||||||
void RegisterCallbackFunction(::lua_State *L, unsigned int ObjectHandle);
|
void RegisterCallbackFunction(lua_State *L, unsigned int ObjectHandle);
|
||||||
|
|
||||||
// Funktion muss auf dem Lua-Stack liegen.
|
// Funktion muss auf dem Lua-Stack liegen.
|
||||||
void UnregisterCallbackFunction(::lua_State *L, unsigned int ObjectHandle);
|
void UnregisterCallbackFunction(lua_State *L, unsigned int ObjectHandle);
|
||||||
|
|
||||||
void RemoveAllObjectCallbacks(::lua_State *L, unsigned int ObjectHandle);
|
void RemoveAllObjectCallbacks(lua_State *L, unsigned int ObjectHandle);
|
||||||
|
|
||||||
void InvokeCallbackFunctions(::lua_State *L, unsigned int ObjectHandle);
|
void InvokeCallbackFunctions(lua_State *L, unsigned int ObjectHandle);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int PreFunctionInvokation(::lua_State *L) { return 0; }
|
virtual int PreFunctionInvokation(lua_State *L) { return 0; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EnsureObjectCallbackTableExists(::lua_State *L,unsigned int ObjectHandle);
|
void EnsureObjectCallbackTableExists(lua_State *L,unsigned int ObjectHandle);
|
||||||
void PushCallbackTable(::lua_State *L);
|
void PushCallbackTable(lua_State *L);
|
||||||
void PushObjectCallbackTable(::lua_State *L, unsigned int ObjectHandle);
|
void PushObjectCallbackTable(lua_State *L, unsigned int ObjectHandle);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // End of namespace Sword25
|
} // End of namespace Sword25
|
||||||
|
@ -38,18 +38,6 @@
|
|||||||
// Includes
|
// Includes
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
//namespace {
|
|
||||||
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#include "sword25/util/lua/lua.h"
|
|
||||||
#include "sword25/util/lua/lualib.h"
|
|
||||||
#include "sword25/util/lua/lauxlib.h"
|
|
||||||
#include "sword25/util/pluto/pluto.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
#include "sword25/package/packagemanager.h"
|
#include "sword25/package/packagemanager.h"
|
||||||
#include "sword25/script/luascript.h"
|
#include "sword25/script/luascript.h"
|
||||||
#include "sword25/script/luabindhelper.h"
|
#include "sword25/script/luabindhelper.h"
|
||||||
@ -57,9 +45,21 @@ extern "C"
|
|||||||
#include "sword25/kernel/outputpersistenceblock.h"
|
#include "sword25/kernel/outputpersistenceblock.h"
|
||||||
#include "sword25/kernel/inputpersistenceblock.h"
|
#include "sword25/kernel/inputpersistenceblock.h"
|
||||||
|
|
||||||
|
namespace Lua {
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include "sword25/util/lua/lua.h"
|
||||||
|
#include "sword25/util/lua/lualib.h"
|
||||||
|
#include "sword25/util/lua/lauxlib.h"
|
||||||
|
#include "sword25/util/pluto/pluto.h"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
using namespace Lua;
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// Constructor / Destructor
|
// Constructor / Destructor
|
||||||
@ -85,7 +85,7 @@ BS_Service *BS_LuaScriptEngine_CreateObject(BS_Kernel * KernelPtr) { return new
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
int PanicCB(::lua_State *L) {
|
int PanicCB(lua_State *L) {
|
||||||
BS_LOG_ERRORLN("Lua panic. Error message: %s", lua_isnil(L, -1) ? "" : lua_tostring(L, -1));
|
BS_LOG_ERRORLN("Lua panic. Error message: %s", lua_isnil(L, -1) ? "" : lua_tostring(L, -1));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -193,7 +193,7 @@ bool BS_LuaScriptEngine::ExecuteString(const Common::String &Code) {
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
void RemoveForbiddenFunctions(::lua_State *L) {
|
void RemoveForbiddenFunctions(lua_State *L) {
|
||||||
static const char *FORBIDDEN_FUNCTIONS[] = {
|
static const char *FORBIDDEN_FUNCTIONS[] = {
|
||||||
"dofile",
|
"dofile",
|
||||||
0
|
0
|
||||||
@ -326,7 +326,7 @@ namespace {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
bool PushPermanentsTable(::lua_State *L, PERMANENT_TABLE_TYPE TableType) {
|
bool PushPermanentsTable(lua_State *L, PERMANENT_TABLE_TYPE TableType) {
|
||||||
// Permanents-Table
|
// Permanents-Table
|
||||||
lua_newtable(L);
|
lua_newtable(L);
|
||||||
|
|
||||||
@ -409,7 +409,7 @@ namespace {
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
int Chunkwriter(::lua_State *L, const void *p, size_t sz, void *ud) {
|
int Chunkwriter(lua_State *L, const void *p, size_t sz, void *ud) {
|
||||||
vector<unsigned char> & chunkData = *reinterpret_cast<vector<unsigned char> * >(ud);
|
vector<unsigned char> & chunkData = *reinterpret_cast<vector<unsigned char> * >(ud);
|
||||||
const unsigned char *buffer = reinterpret_cast<const unsigned char *>(p);
|
const unsigned char *buffer = reinterpret_cast<const unsigned char *>(p);
|
||||||
|
|
||||||
@ -457,7 +457,7 @@ namespace {
|
|||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
const char *Chunkreader(::lua_State *L, void *ud, size_t *sz) {
|
const char *Chunkreader(lua_State *L, void *ud, size_t *sz) {
|
||||||
ChunkreaderData & cd = *reinterpret_cast<ChunkreaderData *>(ud);
|
ChunkreaderData & cd = *reinterpret_cast<ChunkreaderData *>(ud);
|
||||||
|
|
||||||
if (!cd.BufferReturned) {
|
if (!cd.BufferReturned) {
|
||||||
@ -471,7 +471,7 @@ namespace {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
void ClearGlobalTable(::lua_State *L, const char **Exceptions) {
|
void ClearGlobalTable(lua_State *L, const char **Exceptions) {
|
||||||
// Iterate over all elements of the global table
|
// Iterate over all elements of the global table
|
||||||
lua_pushvalue(L, LUA_GLOBALSINDEX);
|
lua_pushvalue(L, LUA_GLOBALSINDEX);
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
|
@ -48,12 +48,14 @@
|
|||||||
// Forward declarations
|
// Forward declarations
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace {
|
namespace Lua {
|
||||||
|
|
||||||
struct lua_State;
|
struct lua_State;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using namespace Lua;
|
||||||
|
|
||||||
namespace Sword25 {
|
namespace Sword25 {
|
||||||
|
|
||||||
class BS_Kernel;
|
class BS_Kernel;
|
||||||
@ -115,7 +117,7 @@ public:
|
|||||||
virtual bool Unpersist(BS_InputPersistenceBlock &Reader);
|
virtual bool Unpersist(BS_InputPersistenceBlock &Reader);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::lua_State *m_State;
|
lua_State *m_State;
|
||||||
int m_PcallErrorhandlerRegistryIndex;
|
int m_PcallErrorhandlerRegistryIndex;
|
||||||
|
|
||||||
bool RegisterStandardLibs();
|
bool RegisterStandardLibs();
|
||||||
|
Loading…
Reference in New Issue
Block a user