From 53e22b11857fed62e2313d6d84d90f88ed412ffb Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Mon, 29 Jul 2013 12:13:03 +0100 Subject: Changed everyting to Unix line endings. --- source/Plugin_Squirrel.cpp | 818 ++++++++++++++++++++++----------------------- 1 file changed, 409 insertions(+), 409 deletions(-) (limited to 'source/Plugin_Squirrel.cpp') diff --git a/source/Plugin_Squirrel.cpp b/source/Plugin_Squirrel.cpp index 27fd01a09..adca4b519 100644 --- a/source/Plugin_Squirrel.cpp +++ b/source/Plugin_Squirrel.cpp @@ -1,409 +1,409 @@ - -#include "Globals.h" - - - - -#ifdef USE_SUIRREL - - - - - -#include "Plugin_Squirrel.h" -#include "squirrelbindings/SquirrelFunctions.h" -#include "squirrelbindings/SquirrelBindings.h" -#include "squirrelbindings/SquirrelBaseClass.h" - - -cPlugin_Squirrel::cPlugin_Squirrel( const char* a_PluginName ) - : cPlugin( a_PluginName ) -{ - SetLanguage( cPlugin::E_SQUIRREL ); - m_PluginName = a_PluginName; -} - -cPlugin_Squirrel::~cPlugin_Squirrel() -{ - delete m_Plugin; -} - -bool cPlugin_Squirrel::Initialize() -{ - cCSLock Lock(m_CriticalSection); - - std::string PluginPath = std::string("Plugins/") + m_PluginName + ".nut"; - - Sqrat::Script script; - script.CompileFile(PluginPath); - if(script.IsNull()) - { - LOGERROR("Unable to run script \"%s\"", m_PluginName); - } - - try { - script.Run(); - - Sqrat::Function construct(Sqrat::RootTable(), m_PluginName); - - if(construct.IsNull()) - { - LOGERROR("Constructor for Plugin \"%s\" not found.", m_PluginName); - return false; - } - - Sqrat::Object obj = construct.Evaluate(); - - ((cSquirrelBaseClass *) obj.GetInstanceUP())->setInstance(this); - - m_Plugin = new SquirrelObject(obj); - - - Sqrat::Object PluginName = obj.GetSlot("name"); - if(!PluginName.IsNull()) - { - this->SetName(PluginName.Cast()); - } - - Sqrat::Function init = m_Plugin->GetFunction("Initialize"); - if(init.IsNull()) - { - LOGERROR("Can not initialize plugin \"%s\"", m_PluginName); - return false; - } - - return init.Evaluate(); - - } catch(Sqrat::Exception &e) - { - LOGERROR("Initialisation of \"%s\" failed: %s", m_PluginName, e.Message().c_str()); - return false; - } -} - - - - - -void cPlugin_Squirrel::OnDisable() -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnDisable")) return; - - m_Plugin->GetFunction("OnDisable").Execute(); -} - - - - - -void cPlugin_Squirrel::Tick(float a_Dt) -{ - cCSLock Lock( m_CriticalSection ); - - if(!m_Plugin->HasFunction("OnTick")) return; - - m_Plugin->GetFunction("OnTick").Execute(a_Dt); -} - - - - - -bool cPlugin_Squirrel::OnCollectPickup(cPlayer * a_Player, cPickup * a_Pickup) -{ - cCSLock Lock(m_CriticalSection); - - if (!m_Plugin->HasFunction("OnCollectPickup")) - { - return false; - } - - return m_Plugin->GetFunction("OnCollectPickup").Evaluate(a_Player, a_Pickup); -} - - - - - -bool cPlugin_Squirrel::OnDisconnect(cPlayer* a_Player, const AString & a_Reason) -{ - cCSLock Lock( m_CriticalSection ); - - if (!m_Plugin->HasFunction("OnDisconnect")) return false; - - return m_Plugin->GetFunction("OnDisconnect").Evaluate(a_Player, a_Reason); -} - - - - - -bool cPlugin_Squirrel::OnBlockPlace(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, const cItem & a_HeldItem) -{ - cCSLock Lock(m_CriticalSection); - - if (!m_Plugin->HasFunction("OnBlockPlace")) return false; - - return m_Plugin->GetFunction("OnBlockPlace").Evaluate(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_HeldItem); -} - - - - - -bool cPlugin_Squirrel::OnBlockDig(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, char a_Status, BLOCKTYPE a_OldBlock, NIBBLETYPE a_OldMeta) -{ - cCSLock Lock(m_CriticalSection); - - if (!m_Plugin->HasFunction("OnBlockDig")) return false; - - return m_Plugin->GetFunction("OnBlockDig").Evaluate(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_Status, a_OldBlock, a_OldMeta); -} - - - - - -bool cPlugin_Squirrel::OnChat(cPlayer * a_Player, const AString & a_Message) -{ - cCSLock Lock(m_CriticalSection); - - if (!m_Plugin->HasFunction("OnChat")) return false; - - return m_Plugin->GetFunction("OnChat").Evaluate(a_Player, a_Message); - -} - - - - - -bool cPlugin_Squirrel::OnLogin(cClientHandle * a_Client, int a_ProtocolVersion, const AString & a_Username) -{ - cCSLock Lock( m_CriticalSection ); - - if (!m_Plugin->HasFunction("OnLogin")) - { - return false; - } - - return m_Plugin->GetFunction("OnLogin").Evaluate(a_Client, a_ProtocolVersion, a_Username); -} - - - - - -void cPlugin_Squirrel::OnPlayerSpawn( cPlayer* a_Player ) -{ - cCSLock Lock( m_CriticalSection ); - - if(!m_Plugin->HasFunction("OnPlayerSpawn")) return; - - return m_Plugin->GetFunction("OnPlayerSpawn").Execute(a_Player); - -} - - - - - -bool cPlugin_Squirrel::OnPlayerJoin( cPlayer* a_Player ) -{ - cCSLock Lock( m_CriticalSection ); - - if(!m_Plugin->HasFunction("OnPlayerJoin")) return false; - - return m_Plugin->GetFunction("OnPlayerJoin").Evaluate(a_Player); -} - - - - - -void cPlugin_Squirrel::OnPlayerMove( cPlayer* a_Player ) -{ - cCSLock Lock( m_CriticalSection ); - - if(!m_Plugin->HasFunction("OnPlayerMove")) return; - - return m_Plugin->GetFunction("OnPlayerMove").Execute(a_Player); - -} - - - - - -void cPlugin_Squirrel::OnTakeDamage( cPawn* a_Pawn, TakeDamageInfo* a_TakeDamageInfo ) -{ - cCSLock Lock( m_CriticalSection ); - - if(!m_Plugin->HasFunction("OnTakeDamage")) return; - - return m_Plugin->GetFunction("OnTakeDamage")(a_Pawn, a_TakeDamageInfo); -} - - - - - -bool cPlugin_Squirrel::OnKilled( cPawn* a_Killed, cEntity* a_Killer ) -{ - cCSLock Lock( m_CriticalSection ); - if(!m_Plugin->HasFunction("OnKilled")) return false; - return m_Plugin->GetFunction("OnKilled").Evaluate(a_Killed, a_Killer); -} - - - - - -void cPlugin_Squirrel::OnChunkGenerated(cWorld * a_World, int a_ChunkX, int a_ChunkZ) -{ - cCSLock Lock(m_CriticalSection); - if(!m_Plugin->HasFunction("OnChunkGenerated")) return; - return m_Plugin->GetFunction("OnChunkGenerated")(a_World, a_ChunkX, a_ChunkZ); -} - - - - - -bool cPlugin_Squirrel::OnChunkGenerating(cWorld * a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_pLuaChunk) -{ - cCSLock Lock(m_CriticalSection); - if(!m_Plugin->HasFunction("OnChunkGenerating")) return false; - return m_Plugin->GetFunction("OnChunkGenerating").Evaluate(a_World, a_ChunkX, a_ChunkZ, a_pLuaChunk); -} - - - - - -bool cPlugin_Squirrel::OnPreCrafting(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) -{ - cCSLock Lock(m_CriticalSection); - if(!m_Plugin->HasFunction("OnPreCrafting")) return false; - return m_Plugin->GetFunction("OnPreCrafting").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); - -} - - - - - -bool cPlugin_Squirrel::OnCraftingNoRecipe(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) -{ - cCSLock Lock(m_CriticalSection); - if(!m_Plugin->HasFunction("OnCraftingNoRecipe")) return false; - return m_Plugin->GetFunction("OnCraftingNoRecipe").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); -} - - - - - -bool cPlugin_Squirrel::OnPostCrafting(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnPostCrafting")) return false; - return m_Plugin->GetFunction("OnPostCrafting").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); -} - - - - - -bool cPlugin_Squirrel::OnBlockToPickup( - BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, - const cPlayer * a_Player, const cItem & a_EquippedItem, cItems & a_Pickups -) -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnBlockToPickup")) return false; - return m_Plugin->GetFunction("OnBlockToPickup").Evaluate(a_BlockType, a_BlockMeta, (cPlayer *) a_Player, a_EquippedItem, a_Pickups); - -} - - - - - -bool cPlugin_Squirrel::OnWeatherChanged(cWorld * a_World) -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnWeatherChanged")) return false; - return m_Plugin->GetFunction("OnWeatherChanged").Evaluate(a_World); -} - - - - - -bool cPlugin_Squirrel::OnUpdatingSign( - cWorld * a_World, - int a_BlockX, int a_BlockY, int a_BlockZ, - AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, - cPlayer * a_Player -) -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnUpdatingSign")) return false; - return m_Plugin->GetFunction("OnUpdatingSign") - .Evaluate( - a_World, - a_BlockX, - a_BlockY, - a_BlockZ, - a_Line1, - a_Line2, - a_Line3, - a_Line4, - a_Player - ); -} - - - - - -bool cPlugin_Squirrel::OnUpdatedSign( - cWorld * a_World, - int a_BlockX, int a_BlockY, int a_BlockZ, - const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, - cPlayer * a_Player -) -{ - cCSLock Lock(m_CriticalSection); - - if(!m_Plugin->HasFunction("OnUpdatedSign")) return false; - return m_Plugin->GetFunction("OnUpdatedSign") - .Evaluate( - a_World, - a_BlockX, - a_BlockY, - a_BlockZ, - a_Line1, - a_Line2, - a_Line3, - a_Line4, - a_Player - ); -} - - - - - -#endif // USE_SQUIRREL - - - - + +#include "Globals.h" + + + + +#ifdef USE_SUIRREL + + + + + +#include "Plugin_Squirrel.h" +#include "squirrelbindings/SquirrelFunctions.h" +#include "squirrelbindings/SquirrelBindings.h" +#include "squirrelbindings/SquirrelBaseClass.h" + + +cPlugin_Squirrel::cPlugin_Squirrel( const char* a_PluginName ) + : cPlugin( a_PluginName ) +{ + SetLanguage( cPlugin::E_SQUIRREL ); + m_PluginName = a_PluginName; +} + +cPlugin_Squirrel::~cPlugin_Squirrel() +{ + delete m_Plugin; +} + +bool cPlugin_Squirrel::Initialize() +{ + cCSLock Lock(m_CriticalSection); + + std::string PluginPath = std::string("Plugins/") + m_PluginName + ".nut"; + + Sqrat::Script script; + script.CompileFile(PluginPath); + if(script.IsNull()) + { + LOGERROR("Unable to run script \"%s\"", m_PluginName); + } + + try { + script.Run(); + + Sqrat::Function construct(Sqrat::RootTable(), m_PluginName); + + if(construct.IsNull()) + { + LOGERROR("Constructor for Plugin \"%s\" not found.", m_PluginName); + return false; + } + + Sqrat::Object obj = construct.Evaluate(); + + ((cSquirrelBaseClass *) obj.GetInstanceUP())->setInstance(this); + + m_Plugin = new SquirrelObject(obj); + + + Sqrat::Object PluginName = obj.GetSlot("name"); + if(!PluginName.IsNull()) + { + this->SetName(PluginName.Cast()); + } + + Sqrat::Function init = m_Plugin->GetFunction("Initialize"); + if(init.IsNull()) + { + LOGERROR("Can not initialize plugin \"%s\"", m_PluginName); + return false; + } + + return init.Evaluate(); + + } catch(Sqrat::Exception &e) + { + LOGERROR("Initialisation of \"%s\" failed: %s", m_PluginName, e.Message().c_str()); + return false; + } +} + + + + + +void cPlugin_Squirrel::OnDisable() +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnDisable")) return; + + m_Plugin->GetFunction("OnDisable").Execute(); +} + + + + + +void cPlugin_Squirrel::Tick(float a_Dt) +{ + cCSLock Lock( m_CriticalSection ); + + if(!m_Plugin->HasFunction("OnTick")) return; + + m_Plugin->GetFunction("OnTick").Execute(a_Dt); +} + + + + + +bool cPlugin_Squirrel::OnCollectPickup(cPlayer * a_Player, cPickup * a_Pickup) +{ + cCSLock Lock(m_CriticalSection); + + if (!m_Plugin->HasFunction("OnCollectPickup")) + { + return false; + } + + return m_Plugin->GetFunction("OnCollectPickup").Evaluate(a_Player, a_Pickup); +} + + + + + +bool cPlugin_Squirrel::OnDisconnect(cPlayer* a_Player, const AString & a_Reason) +{ + cCSLock Lock( m_CriticalSection ); + + if (!m_Plugin->HasFunction("OnDisconnect")) return false; + + return m_Plugin->GetFunction("OnDisconnect").Evaluate(a_Player, a_Reason); +} + + + + + +bool cPlugin_Squirrel::OnBlockPlace(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, const cItem & a_HeldItem) +{ + cCSLock Lock(m_CriticalSection); + + if (!m_Plugin->HasFunction("OnBlockPlace")) return false; + + return m_Plugin->GetFunction("OnBlockPlace").Evaluate(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_HeldItem); +} + + + + + +bool cPlugin_Squirrel::OnBlockDig(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, char a_Status, BLOCKTYPE a_OldBlock, NIBBLETYPE a_OldMeta) +{ + cCSLock Lock(m_CriticalSection); + + if (!m_Plugin->HasFunction("OnBlockDig")) return false; + + return m_Plugin->GetFunction("OnBlockDig").Evaluate(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_Status, a_OldBlock, a_OldMeta); +} + + + + + +bool cPlugin_Squirrel::OnChat(cPlayer * a_Player, const AString & a_Message) +{ + cCSLock Lock(m_CriticalSection); + + if (!m_Plugin->HasFunction("OnChat")) return false; + + return m_Plugin->GetFunction("OnChat").Evaluate(a_Player, a_Message); + +} + + + + + +bool cPlugin_Squirrel::OnLogin(cClientHandle * a_Client, int a_ProtocolVersion, const AString & a_Username) +{ + cCSLock Lock( m_CriticalSection ); + + if (!m_Plugin->HasFunction("OnLogin")) + { + return false; + } + + return m_Plugin->GetFunction("OnLogin").Evaluate(a_Client, a_ProtocolVersion, a_Username); +} + + + + + +void cPlugin_Squirrel::OnPlayerSpawn( cPlayer* a_Player ) +{ + cCSLock Lock( m_CriticalSection ); + + if(!m_Plugin->HasFunction("OnPlayerSpawn")) return; + + return m_Plugin->GetFunction("OnPlayerSpawn").Execute(a_Player); + +} + + + + + +bool cPlugin_Squirrel::OnPlayerJoin( cPlayer* a_Player ) +{ + cCSLock Lock( m_CriticalSection ); + + if(!m_Plugin->HasFunction("OnPlayerJoin")) return false; + + return m_Plugin->GetFunction("OnPlayerJoin").Evaluate(a_Player); +} + + + + + +void cPlugin_Squirrel::OnPlayerMove( cPlayer* a_Player ) +{ + cCSLock Lock( m_CriticalSection ); + + if(!m_Plugin->HasFunction("OnPlayerMove")) return; + + return m_Plugin->GetFunction("OnPlayerMove").Execute(a_Player); + +} + + + + + +void cPlugin_Squirrel::OnTakeDamage( cPawn* a_Pawn, TakeDamageInfo* a_TakeDamageInfo ) +{ + cCSLock Lock( m_CriticalSection ); + + if(!m_Plugin->HasFunction("OnTakeDamage")) return; + + return m_Plugin->GetFunction("OnTakeDamage")(a_Pawn, a_TakeDamageInfo); +} + + + + + +bool cPlugin_Squirrel::OnKilled( cPawn* a_Killed, cEntity* a_Killer ) +{ + cCSLock Lock( m_CriticalSection ); + if(!m_Plugin->HasFunction("OnKilled")) return false; + return m_Plugin->GetFunction("OnKilled").Evaluate(a_Killed, a_Killer); +} + + + + + +void cPlugin_Squirrel::OnChunkGenerated(cWorld * a_World, int a_ChunkX, int a_ChunkZ) +{ + cCSLock Lock(m_CriticalSection); + if(!m_Plugin->HasFunction("OnChunkGenerated")) return; + return m_Plugin->GetFunction("OnChunkGenerated")(a_World, a_ChunkX, a_ChunkZ); +} + + + + + +bool cPlugin_Squirrel::OnChunkGenerating(cWorld * a_World, int a_ChunkX, int a_ChunkZ, cChunkDesc * a_pLuaChunk) +{ + cCSLock Lock(m_CriticalSection); + if(!m_Plugin->HasFunction("OnChunkGenerating")) return false; + return m_Plugin->GetFunction("OnChunkGenerating").Evaluate(a_World, a_ChunkX, a_ChunkZ, a_pLuaChunk); +} + + + + + +bool cPlugin_Squirrel::OnPreCrafting(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) +{ + cCSLock Lock(m_CriticalSection); + if(!m_Plugin->HasFunction("OnPreCrafting")) return false; + return m_Plugin->GetFunction("OnPreCrafting").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); + +} + + + + + +bool cPlugin_Squirrel::OnCraftingNoRecipe(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) +{ + cCSLock Lock(m_CriticalSection); + if(!m_Plugin->HasFunction("OnCraftingNoRecipe")) return false; + return m_Plugin->GetFunction("OnCraftingNoRecipe").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); +} + + + + + +bool cPlugin_Squirrel::OnPostCrafting(const cPlayer * a_Player, const cCraftingGrid * a_Grid, cCraftingRecipe * a_Recipe) +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnPostCrafting")) return false; + return m_Plugin->GetFunction("OnPostCrafting").Evaluate((cPlayer *) a_Player, (cCraftingGrid *) a_Grid, a_Recipe); +} + + + + + +bool cPlugin_Squirrel::OnBlockToPickup( + BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, + const cPlayer * a_Player, const cItem & a_EquippedItem, cItems & a_Pickups +) +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnBlockToPickup")) return false; + return m_Plugin->GetFunction("OnBlockToPickup").Evaluate(a_BlockType, a_BlockMeta, (cPlayer *) a_Player, a_EquippedItem, a_Pickups); + +} + + + + + +bool cPlugin_Squirrel::OnWeatherChanged(cWorld * a_World) +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnWeatherChanged")) return false; + return m_Plugin->GetFunction("OnWeatherChanged").Evaluate(a_World); +} + + + + + +bool cPlugin_Squirrel::OnUpdatingSign( + cWorld * a_World, + int a_BlockX, int a_BlockY, int a_BlockZ, + AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4, + cPlayer * a_Player +) +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnUpdatingSign")) return false; + return m_Plugin->GetFunction("OnUpdatingSign") + .Evaluate( + a_World, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player + ); +} + + + + + +bool cPlugin_Squirrel::OnUpdatedSign( + cWorld * a_World, + int a_BlockX, int a_BlockY, int a_BlockZ, + const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, + cPlayer * a_Player +) +{ + cCSLock Lock(m_CriticalSection); + + if(!m_Plugin->HasFunction("OnUpdatedSign")) return false; + return m_Plugin->GetFunction("OnUpdatedSign") + .Evaluate( + a_World, + a_BlockX, + a_BlockY, + a_BlockZ, + a_Line1, + a_Line2, + a_Line3, + a_Line4, + a_Player + ); +} + + + + + +#endif // USE_SQUIRREL + + + + -- cgit v1.2.3