Commit Graph
100 Commits
Author SHA1 Message Date
Sandu Liviu Catalin 2b282951af Extra validation code in the MaxmindDB module. 2016-11-15 06:34:10 +02:00
Sandu Liviu Catalin 5cadbc82b8 Fix left-over comments in MaxmindDB module. 2016-11-14 15:50:06 +02:00
Sandu Liviu Catalin 7d1493afd3 More code cleanup and fixes in the MaxmindDB module.
Implemented the SearchNode wrapper.
2016-11-14 15:46:48 +02:00
Sandu Liviu Catalin fb5a5b0090 Miscellaneous code cleanup in the MaxmindDB module. 2016-11-14 14:44:01 +02:00
Sandu Liviu Catalin b9bc8ce2ad Remove the comparison metamethods from the SQLite module. 2016-11-14 14:07:42 +02:00
Sandu Liviu Catalin 3107513350 Initial implementation of the MaxmindDB module. 2016-11-14 14:06:30 +02:00
Sandu Liviu Catalin 2ef75d0dce Update the MaxmindDB library to latest version. Also include configs for all platforms. 2016-11-14 14:05:29 +02:00
Sandu Liviu Catalin ded30fdeac Implement move constructor in StackStrF type. 2016-11-14 10:25:31 +02:00
Sandu Liviu Catalin da76d87a93 Move some of the signal implementation to source file.
Don't combine the Consume and Approve methods.
The null value does not count towards returned values anymore.
2016-11-13 14:50:04 +02:00
Sandu Liviu Catalin df12603405 Fix issue in signal which could ommit to push a return value on the stack. 2016-11-13 14:06:53 +02:00
Sandu Liviu Catalin 5b159fba89 Do not throw exceptions in SQLite Transaction destructor. 2016-11-13 09:31:23 +02:00
Sandu Liviu Catalin 33f98990df Initial implementation of the AABB bounding box type. 2016-11-13 08:32:04 +02:00
Sandu Liviu Catalin f54271a4fd Implement arbitrary user data for signals. 2016-11-04 01:31:49 +02:00
Sandu Liviu Catalin 5b39f7f061 Implement the Approve and Request methods of emitting signals. 2016-11-04 01:31:07 +02:00
Sandu Liviu Catalin 8f1af58de7 Forgot to commit changes to the module project and include the Signal implementation. 2016-10-31 18:41:57 +02:00
Sandu Liviu Catalin 07caa7eb52 Don't use overloads in the foreach algorithm for simplicity and performance reasons. 2016-10-31 18:34:27 +02:00
Sandu Liviu Catalin 8239aef551 Updated the SQLite library to the latest version. 2016-10-31 18:29:09 +02:00
Sandu Liviu Catalin e8eff997a0 Updated PUGIXML. 2016-10-31 18:28:38 +02:00
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
Sandu Liviu Catalin ee7880d7f4 Update the Vector2 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:18:00 +03:00
Sandu Liviu Catalin 1a409b4919 Update the Sphere type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:37 +03:00
Sandu Liviu Catalin 1b95fba086 Update the Quaternion type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:29 +03:00
Sandu Liviu Catalin b05b6409b8 Update the Color4 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:18 +03:00
Sandu Liviu Catalin 778b6ea59d Update the Color3 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:09 +03:00
Sandu Liviu Catalin 64ed87f4b4 Update the Circle type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:01 +03:00
Sandu Liviu Catalin 67e8fa650f Update the AABB type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:16:53 +03:00
Sandu Liviu Catalin f88f8b9942 Remove leftover commented code from Vector3 registration code. 2016-08-24 23:16:37 +03:00
Sandu Liviu Catalin 86fcceb6ce Update the Routine type to use the new dynamic dispatching system for metamethods. 2016-08-24 22:29:00 +03:00
Sandu Liviu Catalin 7aafb79ba2 Update the Routine type to use the new dynamic dispatching system for metamethods. 2016-08-24 22:28:15 +03:00
Sandu Liviu Catalin 3cf8f7a24a Remove dynamic argument comparison from the shared utility header and reimplement it as a more flexible dynamic dispatching in it's own header. 2016-08-24 22:27:45 +03:00
Sandu Liviu Catalin adde1e852a Reduce duplicate code from dynamic comparisons and prepare the implementation to be used for other metamethods types. 2016-08-24 19:47:10 +03:00
Sandu Liviu Catalin 99da8892a4 Implement dynamic comparison for the Routine type. 2016-08-24 18:47:18 +03:00
Sandu Liviu Catalin d31c77341c Implement a dynamic comparison system. 2016-08-24 18:45:46 +03:00
Sandu Liviu Catalin 5557f666ef Minor change in some projects to satisfy codeblocks and prevent a request to save them each time. 2016-08-24 01:21:27 +03:00
Sandu Liviu Catalin fb709024b8 Remove projects projects or projects for incomplete modules from the main workspace. 2016-08-24 01:20:38 +03:00
Sandu Liviu Catalin 2c0ce2e2cd Add a dummy return value to prevent an error about not returning anything. 2016-08-24 01:19:05 +03:00
Sandu Liviu Catalin 9a0973bbc6 Fix various spelling mistakes. 2016-08-24 00:27:22 +03:00
Sandu Liviu Catalin fbb7dc9f75 Implemented various helper functions for the quaternion class. 2016-08-23 23:02:19 +03:00
Sandu Liviu Catalin f3db1101ab Added a few helper constants in the shared header to prepare for Quaternion implementation. 2016-08-23 23:01:57 +03:00
Sandu Liviu Catalin fadf480dc4 Enable several compile time options for the SQLite module. 2016-08-22 22:07:45 +03:00
Sandu Liviu Catalin 07d37831b9 Use 'color' instead of 'colour' internally and expose aliases to both for the script interface. 2016-08-21 18:07:35 +03:00
Sandu Liviu Catalin a64fa8a3a1 Undo changes from previous commit. As it turns out this is just another conflict between Brits and Americans. A conflict which makes everything warn about a spelling mistake when it's not the case. 2016-08-20 22:42:54 +03:00
Sandu Liviu Catalin ce7aed075c Fix a spelling mistake in event names. 2016-08-20 21:14:03 +03:00
Sandu Liviu Catalin a35b127871 Fix the script loading process and further improve it with multi stage loading of scripts. 2016-08-19 19:46:26 +03:00
Sandu Liviu Catalin e99e6259f7 Add a helper class to make sure a certain value is assigned to a variable regardless of the thrown exceptions. 2016-08-19 19:45:43 +03:00
Sandu Liviu Catalin 19ebddfc71 Expose identifiers of newlly added events. 2016-08-19 18:28:41 +03:00
Sandu Liviu Catalin e179452a61 Implement a new event to receive notifications when an pickup auto timer has changed. 2016-08-19 18:26:52 +03:00
Sandu Liviu Catalin a47f7541d0 Add the (pickup automatic status changed) event to the events enumeration. 2016-08-19 18:23:27 +03:00
Sandu Liviu Catalin cdc0ac7585 Implement a new event to receive notifications when a pickup automatic status has changed. 2016-08-19 18:21:41 +03:00
Sandu Liviu Catalin 3def96b57a Fix incorrect enumeration value in switch statement when requesting pickup events. 2016-08-19 18:16:21 +03:00
Sandu Liviu Catalin cbe33f4f21 Implement a new event to receive notifications when an pickup alpha has changed. 2016-08-19 18:05:29 +03:00