Commit Graph

13 Commits (69d711b40704a0375e22decc8fc70ad1aa3ee0b6)

Author SHA1 Message Date
madmaxoft f3a0fed724 Hook adding uses the new API.
Multiple hooks per plugin can be added. The cPluginManager.AddHook() has four available signatures, the recommended one is cPluginManager.AddHook(HOOK_TYPE, CallbackFunction)
2013-08-21 21:29:30 +02:00
madmaxoft e0e8e18ab2 cLuaState: Added LogStackTrace() and GetTypeText() utility functions 2013-08-21 20:06:37 +02:00
madmaxoft 493100bdb0 Finished renaming cPlugin_NewLua to cPluginLua. 2013-08-19 09:39:18 +02:00
madmaxoft dd60f55bcc Added the OnHopperPullingItem and OnHopperPushingItem hooks.
Requested in FS 412, slightly modified the params.
2013-08-11 14:57:07 +02:00
madmaxoft d4a3c451c4 Added OnExploding() and OnExploded() hooks.
As requested in FS 413, with extra parameters:
World, BlockX, BlockY, BlockZ, Size, CanCauseFire, Source, SourceData

OnExploding() can return 3 values:
StopHook, CanCauseFire, ExplosionSize
2013-08-09 14:58:43 +02:00
madmaxoft eb323166d9 Removed LuaScript.
The WebAdmin now uses LuaState directly to call the one function it needs.
2013-08-08 16:30:02 +02:00
madmaxoft cc920ea929 cPlugin_NewLua is now completely rewritten to use templated LuaState calls. 2013-08-08 16:02:07 +02:00
madmaxoft 198b221997 LuaState refactoring: using templates for hook function calls.
This simplifies calling Lua functions considerably, it's almost like calling a C++ function, only with an extra argument to delimit args from returned values.
2013-08-08 14:08:35 +02:00
madmaxoft 3f4abe8c95 Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.
As requested in FS 418.
2013-08-08 09:13:13 +02:00
madmaxoft 9b839aa32e cLuaState has reference management, param checking and a fixed destructor.
References are now managed as RAII objects, cLuaState::cRef.
Destructor now calls correct function, either Close() or Detach(), based on the owned-ness of the lua_State *.
2013-08-07 14:26:18 +02:00
madmaxoft 2030bd47c8 cLuaState now tracks the function name and number of args 2013-08-06 08:59:54 +02:00
madmaxoft 2151bb8f5b cLuaState can now contain a detached LuaState, too.
This will be useful for cases when we get a lua_State * from the outside and are asked to perform operations on it.
2013-08-06 08:01:00 +02:00
madmaxoft 71bb41ee86 LuaState refactoring: initial part.
The cLuaState class is a wrapper for the lua_State * and for the common functions on it. The cPlugin_NewLua has been rewritten to use it instead of the raw pointer. Part of #33
2013-08-04 23:11:25 +02:00