1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 16:57:16 +01:00
Commit Graph

700 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
4b1e3909a4 Make some adjustments to previously introduced feature to add names to custom vehicles.
Initial approach would throw an instance of 'std::length_error' on linux.
2017-06-16 22:23:07 +03:00
Sandu Liviu Catalin
135e0e690f Allow the user to store names of custom vehicles up to a certain point. 2017-06-16 02:35:03 +03:00
Sandu Liviu Catalin
957ba97a33 Make it possible for the Buffer wrapper to detect the length of a raw string if the requested length is negative. 2017-06-16 02:24:19 +03:00
Sandu Liviu Catalin
59f64e9532 Make the occupant retrieval more error proof. 2017-05-25 22:15:32 +03:00
Sandu Liviu Catalin
40c16ca5fc Make the AutoDelete helper available to modules. 2017-05-25 22:14:51 +03:00
Sandu Liviu Catalin
3ce06d8cbc Minor adjustments to the code and several bug-fixes. 2017-05-05 20:39:25 +03:00
Sandu Liviu Catalin
9c1cefab37 Possible fix for the spectate player function. Temporary fix. 2017-02-22 20:46:48 +02:00
Sandu Liviu Catalin
2a4f4853ea Uncomment exceptions in the signals and slots creation and retrieval. 2017-02-22 20:41:11 +02:00
Sandu Liviu Catalin
2c60b62671 Update the copyright year. 2017-02-22 18:26:12 +02:00
Sandu Liviu Catalin
1bfb421184 Minor fix in date-time class. 2017-02-22 18:09:02 +02:00
Sandu Liviu Catalin
76759118cc Expose the signals for the loading stages. 2017-02-22 18:08:33 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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