Commit Graph

74 Commits

Author SHA1 Message Date
Patman64
7397c98a61 Merge new_bindings, closes #151
Refer to 6194ddb43c for new C++11 required changes for mangos based cores
2015-06-01 20:37:32 +03:00
Patman64
3490d21bcd Make the register functions optionally return a cancel callback.
It's now possible to have complete flexibility with cancelling bindings,
i.e. it's possible to re-implement all of the other ways to cancel bindings
using the callback.

This sytem has been designed with complete safety in mind:
 - It is safe to call the callback more than once (does nothing after the
   first call).
 - The callback does not expire, and can be stored for as long as
   necessary.
 - If a callback is returned, there is no other way to cancel the binding
   (again, due to safety).
2015-05-01 20:29:48 -04:00
Rochet2
e7019de059 Eluna fix problem with reloading timed events 2015-02-15 02:09:16 +02:00
Rochet2
0701980561 Eluna fix cppcheck warnings and errors 2015-02-13 21:29:02 +02:00
Rochet2
e6e4ecdab1 Fix push and taxi crashes and add new taxi changes 2015-01-24 02:29:11 +02:00
Rochet2
22e2195d00 Fix build 2015-01-20 18:36:35 +02:00
Rochet2
3d645d8048 Add StackTracePlus, Rewrite not to recreate eluna on reload 2015-01-20 17:05:41 +02:00
Patman64
9575a970f3 Move hooks to separate files. 2015-01-19 00:32:52 -05:00
Patman64
dd39592ddd Allow binding event handlers to individual Creatures.
Because GUIDs are, in fact, not globally unique on mangos, the actual
unique identifier is the GUID/instance ID pair of the Creature.

On Trinity Creatures in instances are assigned new GUIDs. This means that
the instance ID part is redundant but must be used anyway for consistency.
2015-01-11 18:48:38 -05:00
Rochet2
5e7b0ee0f7 Fix TC build, analysis warnings and triggering addon message hooks 2015-01-06 12:43:53 +02:00
Patman64
e2f81b7336 Make the Eluna mutex static.
It was previously unsafe to reload Eluna because it had to be reloaded
with the mutex unlocked. This is because the mutex's lifespan was shorter
than the Eluna instance it was guarding.
2015-01-05 22:50:51 -05:00
Rochet2
0e7367e23d Fix hookmgr rewrite
Fix:
 - crash on reload
 - crash on error in call
 - a warning from type change
2015-01-05 16:38:19 +02:00
Patman64
717d1b698d Re-write HookMgr macros into functions and clean-up HookMgr.cpp. 2015-01-04 20:30:31 -05:00
Tommy
803a835668 Happy New Year 2015 2015-01-01 13:59:33 -05:00
Rochet2
07d25f5031 Eluna Fix static analysis noted warnings and errors 2014-12-23 23:21:13 +02:00
Rochet2
dcd0a0e89c Fix linux build and warnings 2014-12-20 18:24:54 +02:00
Rochet2
631e220b31 Eluna changes
* Attempt fix VS 2010 pow error
* Tweak the doc parser a little to work with variable arugments ... and show
enum names and similar.
* Change push and check to work with more types like size and time (fix osx)
* Add errors to using not implemented operations on eluna objects
* Change some SQL comments to work with documentation better
* Add functions to create uint64 and int64 values (may need rename)
* Change doc generation documentation a little to make it clearer how proto is used
2014-12-20 18:24:53 +02:00
Rochet2
809a0ac2bc Fixes #130 2014-12-20 18:15:59 +02:00
Patman64
8c40dd1692 Allow temporary event handlers for all events.
This allows you to register a handler to only fire N times.

Dynamic event handler binding/unbinding is now possible.

For backwards compatibility, if the number of shots is missing, the event
handler will never be removed from the event.
2014-12-18 22:09:34 -05:00
Rochet2
662babc806 Eluna Fix checking of objects with varying types 2014-12-16 01:21:42 +02:00
Rochet2
cb7f9d5145 Eluna add int64 datatype, rename functions for osx, enhance object checking code 2014-12-15 23:29:49 +02:00
Rochet2
7671054425 Eluna fix TC errors from previous commits, fix merge and fix a crash on osx 2014-12-15 23:25:09 +02:00
Rochet2
6268216a64 Eluna implement changes from new_mthread to master ~ Does not add multithread support 2014-11-30 01:37:45 +02:00
Rochet2
a7f4954fbe Eluna implement functions from #121, implement hidden file ignoring closes #122, enhance documentation in places, change requiring some now only allowing unique filenames 2014-11-22 17:16:41 +02:00
Rochet2
93982a16c1 Correct error messages to be clearer 2014-11-10 14:17:52 +02:00
Rochet2
02316cd182 Revert changes to extension from 2343f1b2d6 2014-11-09 23:03:57 +02:00
Rochet2
2343f1b2d6 Eluna fix require path to lua script folder structure. Implement .ext.lua and comment them in the ext files that exist. 2014-11-09 17:16:47 +02:00
Rochet2
d7920b4bb7 Fix loading debug messages to avoid confusion 2014-10-23 14:54:57 +03:00
Rochet2
4784c2052a Eluna: Correct whitespace 2014-09-20 22:07:24 +03:00
Rochet2
7e99514fed Eluna: Separate eluna init and running scripts for startup load orders 2014-09-16 19:51:34 +03:00
Rochet2
61551494e8 Merge branch 'master' of https://github.com/ElunaLuaEngine/Eluna into luaevents 2014-09-13 16:05:30 +03:00
Rochet2
06be9650bb Eluna fix crash in timed events and prepare some for future changes. Ditched EventProcessor 2014-09-13 16:05:16 +03:00
Foereaper
731682708f Added more BG hooks, fixed a few issues 2014-09-10 23:42:20 +02:00
Foereaper
29385c63b1 Fix for event register in previous hook 2014-09-10 22:40:53 +02:00
Foereaper
0bfdf632e7 Added base BG methods and hooks
This has only been tested on Mangos Zero and will definitely need tweaking on Trinity

More methods will be added SHORTLY
2014-09-10 22:38:21 +02:00
Foereaper
7be917335a Added new hook for post reload 2014-09-10 01:28:52 +02:00
Patman64
540fa9ca18 Fix possible panic in Eluna::ExecuteCall.
The panic shouldn't actually be possible due to checks in the different
Register functions, but more checks doesn't hurt.
2014-08-11 00:53:01 -04:00
Rochet2
f5c3326ed5 Eluna fix error reporting nonsense and popping stack. Closes #102 2014-08-10 00:11:42 +03:00
Rochet2
594f38c73b Eluna fix freeze on reload. Closes #99 2014-08-09 23:35:59 +03:00
Rochet2
9790a2af56 Eluna fix VS warning 2014-08-09 21:37:08 +03:00
Patman64
2e1ed8c1e9 Fix possible size issues. 2014-08-03 23:42:42 -04:00
Patman64
ac754aeffa Fix issues with negative values and uint32. 2014-08-02 21:18:31 -04:00
Patman64
b2bebc006e Add overflow checking for CHECKVAL. 2014-08-02 03:51:33 -04:00
Patman64
64c26969b7 Move some unused includes. 2014-08-02 02:31:19 -04:00
Patman64
49698169c7 Clean-up some unnecessary CHECKVAL templates. 2014-08-02 02:21:07 -04:00
Rochet2
38c516c527 Eluna add boost support and fix warnings 2014-07-24 23:37:42 +03:00
Rochet2
62db0c601b Update LuaEngine.cpp 2014-07-21 22:57:07 +03:00
Rochet2
94528114c9 Eluna fix typo in filename thanks Antz :3 2014-07-17 16:41:48 +03:00
Rochet2
816134b60e Eluna add ace include for mangos 2014-07-16 23:09:41 +03:00
Rochet2
a3359062e5 Eluna/Core Refactor code making LuaEngine.h lighter and splitting entities to their own files. Fixed reload crash for timed events 2014-07-16 16:12:07 +03:00