Sandu Liviu Catalin
9fcb65f63d
Don't call the debugger explicitly where implicitly called.
2016-08-26 17:38:38 +03:00
Sandu Liviu Catalin
5d518ef479
Adjust the command execution to invoke the debugger and perform a traceback when catching script exceptions.
...
Don't catch application exceptions because in command execution because they probably left the stack in an invalid state and the server should be allowed to crash.
2016-08-26 17:18:18 +03:00
Sandu Liviu Catalin
cd6e185d65
Fix issue where the command arguments would always fallback to string because the identified variable was not set to true.
...
Fix issue with boolean argument types where more data then necessary was copied from the argument string which could cause it to fail if anything other than the null terminator was following the boolean argument.
Few other minor adjustments to keep the code style consistent.
2016-07-14 22:19:10 +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
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
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
749f232d06
Minor adjustment when creating command listeners directly from the command manager.
2016-07-12 00:11:54 +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
cfe2d3b4ed
Forgot to the OnAuth property for commands manager which was still using the same name as OnFail.
2016-07-03 19:29:50 +03:00
Sandu Liviu Catalin
3094e14015
Forgot to swap command execution contexts in guard.
2016-07-03 19:03:36 +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
2e55f99860
Also release the context when terminating the command manager.
2016-06-27 17:46:12 +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
0c92601362
Update the module API and merge shared code between modules and host plugin.
2016-06-03 21:26:19 +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
b818a162ee
Initial implementation of the standard math library.
...
Implemented utilities to convert between fundamental types.
Implemented helper functions to retrieve numeric values from the stack at all costs.
Implemented various delegates on the long integer types to mimic the standard types.
Moved most of the stack utilities in a separate source.
Various other fixes and improvements.
2016-04-14 03:08:06 +03:00
Sandu Liviu Catalin
484b6978fb
Minor changes in modules and host plugin.
2016-04-02 13:13:32 +03:00
Sandu Liviu Catalin
3a08e17cad
Remove duplicate information when warning about command name collisions.
2016-03-29 05:58:12 +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
8088ba94c2
Updated the exception system in the main plugin to also include the location in the source files in debug builds.
...
Moved the functions that extract base types from strings as static functions under the associated type.
Revised some of the base shared code.
Fixed some of the functions in the String library that did not take into account the null terminator.
2016-03-21 22:37:58 +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
f27a195b6f
Fixed the INI compilation on Linux by reverting to the original library.
...
Fixed an infinite loop in the parsing of command specification strings.
Added the option to retrieve common configs with a fall back value if they don't exist.
Few other minor changes.
2016-03-11 20:04:26 +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
bedf03c9cd
Implemented the IRC library.
...
Fixed a bug in the Routine system that caused crashes when constructed with only the first three arguments because it wasn't attached.
Implemented a gentle release of functions to not release them if the reference count is 1.
Adjusted the Routine and Command system to not be necessary to include them in the module core.
Moved the INI and XML libraries into their own namespace.
Various other modifications and fixes.
2016-02-23 05:23:56 +02:00
Sandu Liviu Catalin
35d662a02f
Minor additions and fixes to the command system.
2016-02-21 10:31:10 +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
14a46c5372
Fixed spelling mistake in command function name. Updated collor packing macros to correct type casting.
2015-11-09 03:27:52 +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
d26b9b560e
Fixed argument range checking in command manager.
2015-11-08 21:34:25 +02:00
Sandu Liviu Catalin
4e23d3ff88
Exported command enumerations and helper function to retrieve player instance level without an instance.
2015-11-08 21:12:05 +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