1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-14 03:37:16 +01:00
Commit Graph

36 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
4ad9402d8a Implement association of arbitrary user data in command listeners.
Also keep track of all listener instances by having them link to eachother as a double linked list. This should make it easy to release any script resources at shutdown.
Now that all listeners are being tracked, binding callbacks is less strict and does not require a listener to be attached anymore.
2016-10-29 22:08:38 +03:00
Sandu Liviu Catalin
9fcb65f63d Don't call the debugger explicitly where implicitly called. 2016-08-26 17:38:38 +03:00
Sandu Liviu Catalin
e76026eae3 Invoke the debugger and traceback when catching exceptions from failure callback in command manager. 2016-08-26 17:16:33 +03:00
Sandu Liviu Catalin
e37d01cabd Allow unbinding of command listener callbacks by passing null. 2016-08-26 16:56:08 +03:00
Sandu Liviu Catalin
46fae978d7 Allow unbinding of command manager callbacks by passing null. 2016-08-26 16:54:23 +03:00
Sandu Liviu Catalin
7fe7116df4 Fix command system not recognizing greedy argument types after changes in previous commits. Credits to @DrakezZ for spotting the issue 2016-07-16 13:44:03 +03:00
Sandu Liviu Catalin
f46adb50dc Fix sorting in command system which was going in the reverse order. Credits to @DrakezZ for spotting the issue 2016-07-15 14:19:29 +03:00
Sandu Liviu Catalin
34feeb7903 Improve argument type compatibility check inside command listeners. 2016-07-14 22:16:27 +03:00
Sandu Liviu Catalin
498c02fa83 Properly terminate all command controllers and release their resources and callbacks to prevent a server crash at shutdown since callbacks were not released. 2016-07-14 21:29:04 +03:00
Sandu Liviu Catalin
c854700cac Make the custom environment optional in script callbacks from command system. 2016-07-14 21:24:09 +03:00
Sandu Liviu Catalin
50b396bf05 Minor adjustments in command system manager method names. And added brackets to make the code more clear. 2016-07-14 21:19:14 +03:00
Sandu Liviu Catalin
463dc75d91 Add function to retrieve command listeners associated with a certain manager as array or table and also to iterate them with a callback. Should close #19 2016-07-14 19:20:49 +03:00
Sandu Liviu Catalin
f5777cecc7 Prevent the command destructor from dissociating the listener from the manager in destructor when the container was resized. 2016-07-12 03:10:38 +03:00
Sandu Liviu Catalin
556aeac295 Fix an issue with command listeners not retaining the help/info messages. Credits @DrakezZ for spotting the issue. 2016-07-12 02:48:53 +03:00
Sandu Liviu Catalin
a373682cee Adjust the smart pointers in the Sqrat library.
Do not overwrite command listener options inc constructor.
Few other minor changes.
2016-07-12 02:43:29 +03:00
Sandu Liviu Catalin
8ad3eb8c4e Fix an issue with command listeners not retaining the help/info messages. Credits @DrakezZ for spotting the issue. 2016-07-11 23:58:48 +03:00
Sandu Liviu Catalin
7bb0d5f947 Adjust the code to use the .what() method from the Sqrat exception. 2016-07-09 14:18:09 +03:00
Sandu Liviu Catalin
6613feb6ba Also include the command instance when checking invoker authority with script callbacks. 2016-07-03 19:43:37 +03:00
Sandu Liviu Catalin
1963c8e636 Implement option to retrieve the manager associated with a command and the number of commands managed by a manager. 2016-07-03 03:44:44 +03:00
Sandu Liviu Catalin
1007eac3ed Initial implementation of the new command system. 2016-07-03 03:22:00 +03:00
Sandu Liviu Catalin
6489dfdf08 Fix the command system which would fail on recursive command execution. 2016-06-08 16:26:55 +03:00
Sandu Liviu Catalin
f2361a27c3 Untested update to the new plugin API.
Various other changes to the plugin as well.
2016-05-22 06:20:38 +03:00
Sandu Liviu Catalin
ff6cacaf68 Dumb approach to recive some kind of asserts if the program crashes because a component was used after it was deleted. 2016-03-24 06:43:02 +02:00
Sandu Liviu Catalin
afc72a0162 Fixed a bug in the command system that did not take into account the null terminator when finding the command separator.
Added the option to retrieve the listener instance of the currently executed command.
Moved several helper functions to where they belong.
2016-03-17 22:06:14 +02:00
Sandu Liviu Catalin
839c3c3434 Allow the retrieval of the currently executed command from the command system.
Also improve the way errors during the execution are handled and resources are released.
2016-03-16 19:11:42 +02:00
Sandu Liviu Catalin
98b2ddfda6 Fix bug in command system when identifiying where the command name ends.
Also add a quick helper function to retrieve the number of existing commands.
2016-03-15 14:12:14 +02:00
Sandu Liviu Catalin
acaf826498 Revised the implementation for the command system to be safer in situations that could lead to the destruction of the listener instance while still used.
Also changed the command system to store the commands in a contiguous container since commands are only inserted once and constantly accessed after.
Documented the command listener member functions.
Various other fixes and improvements.
2016-03-15 10:56:00 +02:00
Sandu Liviu Catalin
70e5f0ba21 Migrated the host module to C++ exceptions as well.
Also enabled the latest C++ revision in the project.
Replaced the Random library with the one provided by C++11.
Implemented a simple AES256 encryption class.
Various other fixes and improvements.
2016-03-10 05:57:13 +02:00
Sandu Liviu Catalin
06e598acfb Dumped the old implementation. Started with a more simple approach. 2016-02-21 00:25:00 +02:00
Sandu Liviu Catalin
6f89d0b8d1 Use entity instance when sending the invoker to commands. 2015-11-08 23:52:56 +02:00
Sandu Liviu Catalin
8a01a1b0ed Added auto generation of informational message based on the suplied argument tags and specifiers. 2015-11-08 23:25:40 +02:00
Sandu Liviu Catalin
b5ed79ad43 Exposed methods for checking if an argument supports a certain type and whether a certain invoker is allowed to execute. 2015-11-08 22:34:14 +02:00
Sandu Liviu Catalin
b6023b842e Implemented command argument tag/name to allow auto generation of command syntax information. 2015-11-08 22:31:03 +02:00
Sandu Liviu Catalin
ad65cf91d8 Documentation spelling corrections and added several functions to retrieve useful information about the currently executed command and a more expanded constructor as well. 2015-11-08 20:53:50 +02:00
Sandu Liviu Catalin
e41581a0e3 Added a member function in command manager to retrieve the last invoker. 2015-11-08 12:36:23 +02:00
Sandu Liviu Catalin
3206d49404 Implemented a simple command system. Added a custom buffer class. Implemented reconnection for IRC sessions. Various other adjustments and additions. 2015-11-07 12:17:39 +02:00