Sandu Liviu Catalin
c5b509dcb3
Avoid creating multiple objects for the same string when event parameters contain strings.
...
Include a helper fonstructor in the light object type for quick string object creation.
2017-02-21 22:17:25 +02:00
Sandu Liviu Catalin
135484e467
Fix bug in entity initialization which was pushing a null pointer on the stack instead of the actual instance.
...
Player instance initialization was missing.
2017-02-21 21:57:47 +02:00
Sandu Liviu Catalin
e7bb68d76c
Fix the crash at shut down caused by forgetting to release the global events table object.
...
Include the fixes from the routines that should've been commited into the previous commit.
Take a more exception safe approach to unbinding from server events at shutdown.
2017-02-21 21:42:40 +02:00
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