Sandu Liviu Catalin
a3594145ad
Fix the inequality operator from the Slot class. Remove unnecessary implementation of other comparison operators from the slot class.
2016-10-31 17:35:54 +02:00
Sandu Liviu Catalin
743ceec248
Minor adjustments to the Signals implementation. Also added the Head and Tail methods when connecting slots.
2016-10-30 21:25:10 +02:00
Sandu Liviu Catalin
b946e7a9b9
Initial implementation of the built-in event system based on the signals and slots design.
2016-10-30 18:26:37 +02:00
Sandu Liviu Catalin
ad876f6a8f
Implement a utility to help with deleting instances even when exceptions are thrown.
2016-10-30 18:25:53 +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
0111cc5a46
Insert a custom part reason identifier to be able to distinct between kick and ban.
2016-10-25 16:16:59 +03:00
Sandu Liviu Catalin
adbacfca11
Set kick/ban header to the default identifier if one was not specified.
2016-10-25 16:08:23 +03:00
Sandu Liviu Catalin
0df1582ac6
Implement foreach entity algorithm that accepts a payload to send to the callback.
2016-10-25 16:07:10 +03:00
Sandu Liviu Catalin
80612c4146
Update the SQLite library to the latest version.
2016-10-09 23:41:59 +03:00
Sandu Liviu Catalin
b023eef797
Fix a bug in the String library introduced by the previous commit.
2016-09-15 03:50:14 +03:00
Sandu Liviu Catalin
3e8250d04b
Fix bug in String library which would cause the first character to be skipped from the first chunk if no previous match was found.
2016-09-15 03:42:26 +03:00
Sandu Liviu Catalin
2d433c34b4
Introduce new helper functions into the String library.
2016-09-15 03:04:05 +03:00
Sandu Liviu Catalin
5072f7712c
Improve the String library to reduce the size of the generated executable code.
2016-09-15 03:03:06 +03:00
Sandu Liviu Catalin
501d0884f3
Adjust various debugging messages during the script loading stage inside the plugin core.
2016-09-11 20:48:20 +03:00
Sandu Liviu Catalin
5d4f920007
Implement another constructor for Sqrat's Object type to grab an object reference right from the stack.
2016-09-11 20:10:29 +03:00
Sandu Liviu Catalin
1bf80d76c6
Prevent a compilation error in the algorithms header from a missing brace in ForwardElemFunc initializer list.
2016-09-11 20:09:35 +03:00
Sandu Liviu Catalin
2cd5054f92
Update log message to not be a duplicate of another right bellow it.
2016-09-04 01:27:00 +03:00
Sandu Liviu Catalin
6da98330ca
Add option to retrieve the real file path in the system path library.
2016-09-04 00:49:32 +03:00
Sandu Liviu Catalin
8dacace7ae
Fix duplicate member name in system property class. Also adjust several names to prevent possible collisions like this in the future.
2016-09-04 00:46:12 +03:00
Sandu Liviu Catalin
e445530bbb
Implement a new module command that is called right before cosing the virtual machine to allow modules to release resources manually.
...
Should fix a possible crash in the IRC plugin which was caused by the Session destructor to be called recursively when cleaned automatically by the VM.
2016-09-02 14:11:39 +03:00
Sandu Liviu Catalin
e23e5d0a05
Return null entity instance instead of null object in FindByID algorithm.
2016-09-02 10:02:46 +03:00
Sandu Liviu Catalin
1dac281ba3
Improve the string escape functions from the SQLite module by allowing formatted string input.
2016-08-29 15:34:20 +03:00
Sandu Liviu Catalin
dddb972fd9
Fix the empty initialization option being ignored in the execution stage.
2016-08-27 12:15:51 +03:00
Sandu Liviu Catalin
7241d0bd02
Implement a simple utility method to extract the components of an IPv4 address.
2016-08-27 08:08:12 +03:00
Sandu Liviu Catalin
f9c2c879c4
Add extra validation when assigning a player name.
2016-08-27 04:03:24 +03:00
Sandu Liviu Catalin
77184fd9fb
Don't perform a debug trace in the outer most level function. Assume that the debugger took care of that.
2016-08-26 18:29:05 +03:00
Sandu Liviu Catalin
942314aa69
Perform proper range checking for columns and parameters in the SQLite statements.
2016-08-26 18:22:45 +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
e953406b7f
Don't catch application exceptions in the entity instance destruction because they probably left the VM stack in an invalid state and the server should be allowed to crash.
2016-08-26 17:21:50 +03:00
Sandu Liviu Catalin
a9ae69ce5e
Don't catch application exceptions in the outer most event functions because they probably left the VM stack in an invalid state and the server should be allowed to crash.
2016-08-26 17:21:05 +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
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
981e16ad01
Assign the parameter index temporarily before validating to prevent exception if the currently assigned index is invalid.
2016-08-26 01:38:58 +03:00
Sandu Liviu Catalin
5136a93d37
Update projects to putput standalone binaries to a subfolder.
2016-08-26 00:10:46 +03:00
Sandu Liviu Catalin
1b7299c0aa
Update the provided sample INI config file to include new options.
2016-08-25 23:56:00 +03:00
Sandu Liviu Catalin
e02014088b
Fix the range checks for column indexes in the SQLite module.
2016-08-25 23:50:11 +03:00
Sandu Liviu Catalin
11d5cff63b
Prevent exceptions thrown during the destruction of an entrity instance from blocking the release of it's resources.
2016-08-25 23:47:59 +03:00
Sandu Liviu Catalin
dfbb0b9c46
Show a proper debug trace when catching squirrel exceptions at the event entry level.
2016-08-25 23:46:51 +03:00
Sandu Liviu Catalin
44d6905d3b
Implement a logging option to hide some of the verbose output during plugin start up.
2016-08-25 12:22:39 +03:00
Sandu Liviu Catalin
28ac1e889a
Don't use log messages to confirm the plugin was loaded or not since they can be ignored.
2016-08-25 12:00:48 +03:00
Sandu Liviu Catalin
2c1f588cba
Assign the column index temporarily before validating to prevent exception if the currently assigned index is invalid.
2016-08-25 11:55:20 +03:00
Sandu Liviu Catalin
d95f3253d4
Move the auto assign helper class to the shared utility header.
2016-08-25 11:54:29 +03:00
Sandu Liviu Catalin
64416c093c
Implement a simple system for snippets to be notified when the scripts were loaded and about to be unloaded.
2016-08-25 03:08:44 +03:00
Sandu Liviu Catalin
fae1e51c7b
Prevent ambiguity errors during compilation caused by the new dispatch system under x64 builds.
2016-08-25 01:01:03 +03:00
Sandu Liviu Catalin
d449247b5e
Update the LongInt type to use the new dynamic dispatching system for metamethods.
2016-08-25 00:19:53 +03:00
Sandu Liviu Catalin
16656362cc
Minor documentation for long integer helper types.
2016-08-24 23:36:48 +03:00
Sandu Liviu Catalin
a0316092e3
Update the Vector4 type to use the new dynamic dispatching system for metamethods.
2016-08-24 23:18:19 +03:00
Sandu Liviu Catalin
fd9979453b
Update the Vector2i type to use the new dynamic dispatching system for metamethods.
2016-08-24 23:18:08 +03:00