Commit Graph
100 Commits
Author SHA1 Message Date
Sandu Liviu Catalin 41e04e5167 Initial implementation of the new event system.
Initial implementation of the new signals and slots class.
Fixed command parsing which compared a pointer to a character.
Buffer overflow fix in routines which used the limits from the entity tasks.
Switched from Sqrat::Object to Sqrat::LightObj in most places to avoid the overhead of the VM pointer.
Various other adjustments and improvements.
The plugin is currently in a broken state and crashes at shutdown. The bug is unknown at this point.
2017-02-21 21:24:59 +02:00
Sandu Liviu Catalin 178b30bb20 Minor adjustments to Sqrat types. Improved shared pointers to use less heap allocations for counters. 2017-02-21 21:19:10 +02:00
Sandu Liviu Catalin 6909e46125 Adjust the main plugin to use the new standard way of registering constants. 2016-11-23 00:58:45 +02:00
Sandu Liviu Catalin 4287498600 Standardize helper structures to simplify the registration of constants and also to reduce compilation times and executable size. 2016-11-23 00:57:55 +02:00
Sandu Liviu Catalin 873438d8e0 Implement the pure typename meta-methods in SQLite module types using the standard method. 2016-11-22 16:16:32 +02:00
Sandu Liviu Catalin 568bc385e9 Adjust the SQLite module to use the new method of receiving formatted strings.
Several minor bugfixes and improvements came with this migration as well.
2016-11-22 16:11:05 +02:00
Sandu Liviu Catalin c541fb3ea9 Implement constructors with formatting support in the Sqrat binding utility. 2016-11-22 16:08:45 +02:00
Sandu Liviu Catalin d359bd5c7b Make StackStrF constant when registering methods with formatting support. 2016-11-22 16:08:11 +02:00
Sandu Liviu Catalin f50a2b40d3 Initial re-write of the routines. 2016-11-17 23:10:31 +02:00
Sandu Liviu Catalin 7ab1084955 Minor changes in tasks. 2016-11-17 23:09:35 +02:00
Sandu Liviu Catalin 659f522efa Clear the tag as well when releasing task resources. 2016-11-17 20:04:32 +02:00
Sandu Liviu Catalin bf065d4f3a Include the routines and tasks limits into the registered constants. 2016-11-17 20:00:14 +02:00
Sandu Liviu Catalin 2f27188b52 Forgot to decrease the number of occupied slots when removing tasks. And also to reset it when clearing them.
Removed the used tasks counter completely because it's useless and has a high risk of producing nasty bugs.
2016-11-17 19:59:47 +02:00
Sandu Liviu Catalin 23d9caeac3 Adjust some of the string library functions to use the new method of receiving formatted strings. 2016-11-17 17:05:12 +02:00
Sandu Liviu Catalin 1045a6fad2 Implement the FindTask method for entities. 2016-11-17 17:04:21 +02:00
Sandu Liviu Catalin ff8df39a13 Implement the user tags feature in tasks. 2016-11-17 16:02:00 +02:00
Sandu Liviu Catalin 2e0b7b6c7f Fix an issue in StackStrF type which would not perform the format with just one parameter. 2016-11-17 16:01:30 +02:00
Sandu Liviu Catalin 2449a44c1f Reduce the task parameters to 8.
Remove the Self property from the tasks because it's useless.
2016-11-17 12:59:29 +02:00
Sandu Liviu Catalin a04fd3ba15 Implemented a mechanism for tasks to alter their properties and/or terminate themselves in the middle of the execution.
Also implemented a few other features such as the ability to have a persistent storage associated with them.
2016-11-17 12:29:58 +02:00
Sandu Liviu Catalin 5b32baa908 Update the task type to use the new allocator and not attempt to destroy a static instance. 2016-11-17 11:47:07 +02:00
Sandu Liviu Catalin 41f2971b7c Implement an allocator for types that cannot be constructed by script and must not be destructed by script.
For cases where the actual instance is static and might outlive the VM itself.
2016-11-17 11:46:36 +02:00
Sandu Liviu Catalin 641e51e03c Rename the lightweight object type.
Few adjustments to the tasks to overcome the limitation of removing themselves. Currently broken because they require a special Sqrat allocator.
2016-11-17 11:27:07 +02:00
Sandu Liviu Catalin 15c824ddae Implement a constructor in the lightweight object type that copies a regular object. 2016-11-17 10:59:19 +02:00
Sandu Liviu Catalin b4b00caba9 Replace the Argument class from the tasks with the new lightweight objects.
Include a forward declaration of the lightweight object in the base header.
2016-11-17 10:57:27 +02:00
Sandu Liviu Catalin faf07319f9 Implement lightweight objects in the Sqrat binding utility that only store the object reference and don't use any firtual functions.
Also make a a few adjustments to the regular Object constructor.
2016-11-17 10:52:14 +02:00
Sandu Liviu Catalin 32061463c0 Remove duplicate code in Sqrat Var for the the StackStrF type. 2016-11-17 10:50:40 +02:00
Sandu Liviu Catalin 92faaccf06 Start from the outer namespace when catching or throwing exceptions in the Sqrat library. 2016-11-17 10:50:03 +02:00
Sandu Liviu Catalin 324ee99260 Minor comment fix in Routine class. 2016-11-17 00:24:24 +02:00
Sandu Liviu Catalin 2d07ed67b9 Initial implementation of entity tasks. 2016-11-17 00:23:59 +02:00
Sandu Liviu Catalin cb9581786e Adjust the Vector3 and Vector4 type functions to use the new method of receiving formatted strings. 2016-11-16 16:20:11 +02:00
Sandu Liviu Catalin 32ce07bdad Adjust the Vector2 and Vector2i type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:54 +02:00
Sandu Liviu Catalin 759318d48e Adjust the Sphere type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:38 +02:00
Sandu Liviu Catalin 6522889492 Adjust the GetColor function to use the new method of receiving formatted strings. 2016-11-16 16:19:29 +02:00
Sandu Liviu Catalin e7b4462a68 Adjust the Quaternion type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:13 +02:00
Sandu Liviu Catalin 3e35f7c916 Adjust the Color3 and COlor4 type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:02 +02:00
Sandu Liviu Catalin 3ede9645e3 Adjust the Circle type functions to use the new method of receiving formatted strings. 2016-11-16 16:18:45 +02:00
Sandu Liviu Catalin b9a23d9137 Adjust the AABB type functions to use the new method of receiving formatted strings. 2016-11-16 15:12:19 +02:00
Sandu Liviu Catalin 5f8c2f6cc5 Update all existing code to always receive StackStrF as a const reference. 2016-11-16 15:10:33 +02:00
Sandu Liviu Catalin 64a2957129 Always receive the StackStrF type as a const reference. 2016-11-16 15:09:37 +02:00
Sandu Liviu Catalin cb8b595318 Adjust the Vehicle entity methods to use the new method of receiving formatted strings. 2016-11-16 14:49:12 +02:00
Sandu Liviu Catalin 6373c24bae Adjust the Player entity methods to use the new method of receiving formatted strings. 2016-11-16 14:49:04 +02:00
Sandu Liviu Catalin 9a52981f19 Adjust the Pickup entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:57 +02:00
Sandu Liviu Catalin 3fbba9f3e2 Adjust the Object entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:48 +02:00
Sandu Liviu Catalin e1fd4e1ee2 Adjust the Keybind entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:28 +02:00
Sandu Liviu Catalin 5669802169 Adjust the Checkpoint entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:19 +02:00
Sandu Liviu Catalin 85079a28d2 Adjust the Blip entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:11 +02:00
Sandu Liviu Catalin 91bb7ef7ba Adjust Routine type methods to use the new method of receiving formatted strings. 2016-11-16 13:12:49 +02:00
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 c1fe2b4fc0 Include a default constructor and an explicit compile time string constructor in the StackStrF type. 2016-11-16 13:03:11 +02:00
Sandu Liviu Catalin 10f2ad95ec Adjust the signal to use the new method of receiving formatted strings. 2016-11-16 12:32:58 +02:00
Sandu Liviu Catalin c040b24d29 Adjust remaining miscellaneous functions to use the new method of receiving formatted strings. 2016-11-16 12:32:30 +02:00
Sandu Liviu Catalin 7fc61a28a8 Include a forward declaration of the StackStrF type. 2016-11-16 12:16:15 +02:00
Sandu Liviu Catalin 000133b2ba Adjust some of the miscellaneous functions to use the new method of receiving formatted strings. 2016-11-16 12:15:46 +02:00
Sandu Liviu Catalin c318dbf1da Fix HideMapObjectEx registered as SetKeyCodeName. 2016-11-16 11:58:46 +02:00
Sandu Liviu Catalin 0137dfc66f Move the plugin Squirrel utilities to the Sqrat binding utility.
Implement registration of functions and methods with string formatting support in the Sqrat binding utility.
Few minor other fixes.
2016-11-16 11:54:07 +02:00
Sandu Liviu Catalin ed599c06dd Minor fix in Squirrel. Don't always assume the specified parameter is a string. 2016-11-16 11:50:40 +02:00
Sandu Liviu Catalin f8e57bf060 Minor code style and consistency adjustments. 2016-11-15 21:55:03 +02:00
Sandu Liviu Catalin 68c8921415 Don't attempt to overload the cmp metamethod in the chrono library types. 2016-11-15 21:48:23 +02:00
Sandu Liviu Catalin ff4c0b6143 Minor code style fix in ini library. 2016-11-15 21:46:42 +02:00
Sandu Liviu Catalin 24f5eaafc6 Don't attempt to overload the cmp metamethod in the ini document type. 2016-11-15 21:45:56 +02:00
Sandu Liviu Catalin 677398a642 Don't attempt to overload the cmp metamethod in the comamnd listener type. 2016-11-15 21:44:58 +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 bf734928a9 Implement the pure typename meta-methods in Routine type using the standard method. 2016-11-15 21:43:02 +02:00
Sandu Liviu Catalin de4c7da73f Implement the pure typename meta-methods in Signal type using the standard method. 2016-11-15 21:42:54 +02:00
Sandu Liviu Catalin d059d0d1ac Implement the pure typename meta-methods in buffer type using the standard method. 2016-11-15 21:42:41 +02:00
Sandu Liviu Catalin 7fde39fb6d Implement the pure typename meta-methods in system path type using the standard method. 2016-11-15 21:42:27 +02:00
Sandu Liviu Catalin e562f06948 Implement the pure typename meta-methods in long int types using the standard method. 2016-11-15 21:42:11 +02:00
Sandu Liviu Catalin 7e72749fa7 Implement the pure typename meta-methods in INI library using the standard method. 2016-11-15 21:42:00 +02:00
Sandu Liviu Catalin 847222685b Implement the pure typename meta-methods in AES type using the standard method. 2016-11-15 21:41:46 +02:00
Sandu Liviu Catalin f18d4c948a Implement the pure typename meta-methods in Sphere type using the standard method. 2016-11-15 21:24:39 +02:00
Sandu Liviu Catalin f3a485177b Implement the pure typename meta-methods in Vector4 type using the standard method. 2016-11-15 21:21:31 +02:00
Sandu Liviu Catalin 6860019457 Implement the pure typename meta-methods in Vector3 type using the standard method. 2016-11-15 21:21:19 +02:00
Sandu Liviu Catalin 5afe1f8127 Implement the pure typename meta-methods in Vector2i type using the standard method. 2016-11-15 21:21:07 +02:00
Sandu Liviu Catalin b2d003424e Implement the pure typename meta-methods in Vector2 type using the standard method. 2016-11-15 21:20:55 +02:00
Sandu Liviu Catalin 0f2967aa05 Implement the pure typename meta-methods in Quaternion type using the standard method. 2016-11-15 21:20:42 +02:00
Sandu Liviu Catalin b04b7c6d84 Implement the pure typename meta-methods in Color4 type using the standard method. 2016-11-15 21:20:25 +02:00
Sandu Liviu Catalin dcc323202f Implement the pure typename meta-methods in Color3 type using the standard method. 2016-11-15 21:20:10 +02:00
Sandu Liviu Catalin 8d5efe524e Implement the pure typename meta-methods in Circle type using the standard method. 2016-11-15 21:21:15 +02:00
Sandu Liviu Catalin 2cce140e1b Implement the pure typename meta-methods in AABB type using the standard method. 2016-11-15 21:20:57 +02:00
Sandu Liviu Catalin 60d6a96e07 Implement the pure typename meta-methods in chrono types using the standard method. 2016-11-15 21:20:33 +02:00
Sandu Liviu Catalin 27af2cfd3c Remove the _cmp metamethod from the entity types because it's useless for registered types. 2016-11-15 21:19:06 +02:00
Sandu Liviu Catalin 411ac5ef28 Implement the pure typename meta-methods in entity types using the standard method. 2016-11-15 21:16:24 +02:00
Sandu Liviu Catalin 351d44a8e5 Implement a mechanism for generating pure typename functions. 2016-11-15 21:06:41 +02:00
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