Sandu Liviu Catalin
fd10399d9b
Adjust command manager and listener functions to use the new method of receiving formatted strings.
2016-11-16 13:04:25 +02:00
Sandu Liviu Catalin
242d6be1fe
Implement the pure typename meta-methods in Command types using the standard method.
2016-11-15 21:43:18 +02:00
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