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

437 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
26f5c495f5 Explicitly make sure that collectors in entity search algorithms are sent by reference instead of by copy. Should close #16
Invert the negate parameter to comply with how the algorithms work and what the negare argument is supposed to do.
Few other minor additions or adjustments.
2016-07-14 23:34:52 +03:00
Sandu Liviu Catalin
cd6e185d65 Fix issue where the command arguments would always fallback to string because the identified variable was not set to true.
Fix issue with boolean argument types where more data then necessary was copied from the argument string which could cause it to fail if anything other than the null terminator was following the boolean argument.
Few other minor adjustments to keep the code style consistent.
2016-07-14 22:19:10 +03:00
Sandu Liviu Catalin
34feeb7903 Improve argument type compatibility check inside command listeners. 2016-07-14 22:16:27 +03:00
Sandu Liviu Catalin
498c02fa83 Properly terminate all command controllers and release their resources and callbacks to prevent a server crash at shutdown since callbacks were not released. 2016-07-14 21:29:04 +03:00
Sandu Liviu Catalin
c854700cac Make the custom environment optional in script callbacks from command system. 2016-07-14 21:24:09 +03:00
Sandu Liviu Catalin
50b396bf05 Minor adjustments in command system manager method names. And added brackets to make the code more clear. 2016-07-14 21:19:14 +03:00
Sandu Liviu Catalin
27f2a57573 Prevent exceptions during event callbacks from blocking the the decrease of the track counter. 2016-07-14 19:56:13 +03:00
Sandu Liviu Catalin
6be526924d Add the option to specify a header and payload when tracking player position changes. 2016-07-14 19:52:14 +03:00
Sandu Liviu Catalin
463dc75d91 Add function to retrieve command listeners associated with a certain manager as array or table and also to iterate them with a callback. Should close #19 2016-07-14 19:20:49 +03:00
Sandu Liviu Catalin
1d5b12f11f Add a helper member function to the vehicle class to fix the managed vehicle. 2016-07-13 01:47:36 +03:00
Sandu Liviu Catalin
4e05d3d285 Fix issue with routines never being released. Should close #14
Few other fixes and adjustments also in routines.
2016-07-12 22:45:14 +03:00
Sandu Liviu Catalin
f5777cecc7 Prevent the command destructor from dissociating the listener from the manager in destructor when the container was resized. 2016-07-12 03:10:38 +03:00
Sandu Liviu Catalin
556aeac295 Fix an issue with command listeners not retaining the help/info messages. Credits @DrakezZ for spotting the issue. 2016-07-12 02:48:53 +03:00
Sandu Liviu Catalin
a373682cee Adjust the smart pointers in the Sqrat library.
Do not overwrite command listener options inc constructor.
Few other minor changes.
2016-07-12 02:43:29 +03:00
Sandu Liviu Catalin
749f232d06 Minor adjustment when creating command listeners directly from the command manager. 2016-07-12 00:11:54 +03:00
Sandu Liviu Catalin
8ad3eb8c4e Fix an issue with command listeners not retaining the help/info messages. Credits @DrakezZ for spotting the issue. 2016-07-11 23:58:48 +03:00
Sandu Liviu Catalin
6975572bfe Fix incorrect placement of functions used to find players by name. 2016-07-10 23:29:45 +03:00
Sandu Liviu Catalin
27f6a310b5 Remove leftover brackets from log messages on linux. 2016-07-10 18:44:54 +03:00
Sandu Liviu Catalin
75f8f43696 Add a message to inform when the plugin is fully loaded. 2016-07-10 17:15:43 +03:00
Sandu Liviu Catalin
a06efdafc5 Improve the Clamp functions to accept any type of value for all parameters.
Implement common functions to work with date and time types and avoid duplicate code.
Remove unnecessary functions used to retrieve the valie in long integer instances.
Various other fixes and name adjustments.
2016-07-09 21:21:07 +03:00
Sandu Liviu Catalin
bd75ffe305 Fix the functions used to create buffers and extend with new ones to interact with them. 2016-07-09 17:21:41 +03:00
Sandu Liviu Catalin
953ef30c17 Remove leftover parenthesis from previous commit. 2016-07-09 17:14:09 +03:00
Sandu Liviu Catalin
7bb0d5f947 Adjust the code to use the .what() method from the Sqrat exception. 2016-07-09 14:18:09 +03:00
Sandu Liviu Catalin
862c09150f Adjust the string explode and implode utilities. 2016-07-09 14:12:51 +03:00
Sandu Liviu Catalin
4e93e58397 Initial revision of the buffer implementation. 2016-07-08 00:56:54 +03:00
Sandu Liviu Catalin
69edbcd8d2 Include string.h in system path library to compile on Linux. 2016-07-04 16:56:49 +03:00
Sandu Liviu Catalin
82ddf372f3 Don't use negative sum of seconds in the specified date range. 2016-07-04 16:36:41 +03:00
Sandu Liviu Catalin
87ab54d453 Expand the host plug-in API and not just the Squirrel API.
Extend the host plug-in API with a few more date/time functions.
Update some of the plugins to use the expanded functions of the host plug-in API.
2016-07-04 16:26:39 +03:00
Sandu Liviu Catalin
805251a6db Add utility to calculate date range in seconds on Chrono library. 2016-07-04 16:23:35 +03:00
Sandu Liviu Catalin
6613feb6ba Also include the command instance when checking invoker authority with script callbacks. 2016-07-03 19:43:37 +03:00
Sandu Liviu Catalin
cfe2d3b4ed Forgot to the OnAuth property for commands manager which was still using the same name as OnFail. 2016-07-03 19:29:50 +03:00
Sandu Liviu Catalin
3094e14015 Forgot to swap command execution contexts in guard. 2016-07-03 19:03:36 +03:00
Sandu Liviu Catalin
1963c8e636 Implement option to retrieve the manager associated with a command and the number of commands managed by a manager. 2016-07-03 03:44:44 +03:00
Sandu Liviu Catalin
dde8890941 Prevent common null objects from using dead virtual machines after reloads. 2016-07-03 03:27:18 +03:00
Sandu Liviu Catalin
1007eac3ed Initial implementation of the new command system. 2016-07-03 03:22:00 +03:00
Sandu Liviu Catalin
7f50156664 Move enumerations related to the command system from the base plugin config. 2016-07-03 03:20:51 +03:00
Sandu Liviu Catalin
e0fd5fa214 Implement pointer stealing for the auto-deleter utility. 2016-07-03 03:20:23 +03:00
Sandu Liviu Catalin
2e55f99860 Also release the context when terminating the command manager. 2016-06-27 17:46:12 +03:00
Sandu Liviu Catalin
aad10948b9 Emit the ScriptLoaded event before importing server entities to allow the scripts to prepare. 2016-06-26 16:30:19 +03:00
Sandu Liviu Catalin
996c078105 Introduce a new module event to be called after the virtual machine was destroyed. Thus, preventing the release of the virtual machine while still in use.
Prevent releasing IRC sessions while they could still be in use.
Few other changes that had to be committed because of the change in the module API.
2016-06-26 16:18:23 +03:00
Sandu Liviu Catalin
2ee475bb8d Prevent server notifications of entity pool changes from introducing entity leaks and triggering events multiple times. Should close #9 2016-06-26 15:47:27 +03:00
Sandu Liviu Catalin
254bd9eee6 Avoid creating checkpoints for invalid player instances. 2016-06-25 00:08:16 +03:00
Sandu Liviu Catalin
36e3ed8f7a Clear vehicle instances on server shutdown or plugin reload. Should close #9 2016-06-25 00:01:36 +03:00
Sandu Liviu Catalin
8e0a9edb3e Update the checkpoint creation process to allow creating checkpoints for all players as well as dedicated to a certain player. Should close #10 2016-06-24 23:37:58 +03:00
Sandu Liviu Catalin
875ea33022 Fix negation inf entity searching algorithms. 2016-06-21 17:56:58 +03:00
Sandu Liviu Catalin
cb82a98bf6 Fix incorrect size check in entity search algorithms. 2016-06-21 17:44:21 +03:00
Sandu Liviu Catalin
b4bfced27b Register entity searching algorithms to enable them. 2016-06-21 17:29:09 +03:00
Sandu Liviu Catalin
40e024e72d Further improvements of the entity searching algorithms. 2016-06-21 17:25:43 +03:00
Sandu Liviu Catalin
66e604cec7 Add back some of the entity search functions. 2016-06-21 16:15:25 +03:00
Sandu Liviu Catalin
284e1be3f7 Improved the entity searching algorithms by removing duplicate code. 2016-06-21 16:04:21 +03:00
Sandu Liviu Catalin
29af51c518 Improve entity searching algorithms. 2016-06-21 15:17:08 +03:00
Sandu Liviu Catalin
1d12ddd60d Improve searching for active entities. Also fix a possible crash because the entity instance pushed on the stack was appending to itself instead of the array. 2016-06-21 09:02:44 +03:00
Sandu Liviu Catalin
20ae4e602e Fix buffer wrapper reading data incorrectly. 2016-06-20 18:22:12 +03:00
Sandu Liviu Catalin
ea70a21437 Improve the client script data event. Also fix a crash because the buffer type was not registered. 2016-06-20 18:02:44 +03:00
Sandu Liviu Catalin
29abf2e9c0 Add a helper class that implements RAII to delete an instance of not explicitly released. 2016-06-20 18:01:42 +03:00
Sandu Liviu Catalin
ad55025bc8 Specialize the buffer creation functions. 2016-06-20 14:52:05 +03:00
Sandu Liviu Catalin
c2ac1f3fd8 Add a small check to prevent forwarding event if we failed to create the buffer instance. 2016-06-20 14:30:48 +03:00
Sandu Liviu Catalin
5f983cdacf Fix the keybind creation process which was using the incorrect keybind identifier. 2016-06-20 09:02:13 +03:00
Sandu Liviu Catalin
8591efbcce Update the blip pool size to the correct value. 2016-06-20 08:55:04 +03:00
Sandu Liviu Catalin
933522f2a4 Add a method to the player class that plays a sound which follows the player character. 2016-06-20 08:27:39 +03:00
Sandu Liviu Catalin
e6213d0932 Fix the player alpha modification. 2016-06-20 08:08:33 +03:00
Sandu Liviu Catalin
5d0a38cbd9 Fix the keybind creation by obtaining a keybind slot automatically if one was not specified. 2016-06-20 08:02:30 +03:00
Sandu Liviu Catalin
dae66ca39f Export the function that must be used to obtain unused keybind slots. 2016-06-20 08:01:59 +03:00
Sandu Liviu Catalin
c5c3af4f5e Avoid compile errors from implicit cast to int by making the type explicit. 2016-06-19 19:38:24 +03:00
Sandu Liviu Catalin
6ec8ca620f Update the player mesage broadcasting to also be more flexible and dynamic when detecting the message color.
Move the shared code that identifies the message color outside the player class source file.
2016-06-19 19:06:24 +03:00
Sandu Liviu Catalin
f26ab29a14 Improve the player messaging functions to be more flexible and dynamic when detecting the message color. 2016-06-19 18:39:12 +03:00
Sandu Liviu Catalin
89bbb74d06 Export the remaining functions for controlling the logger. 2016-06-19 15:24:25 +03:00
Sandu Liviu Catalin
c431734311 Keep a consistent naming style in constants. 2016-06-19 11:07:35 +03:00
Sandu Liviu Catalin
3ebe127c2c Move message broadcasting into their own source file for better code structuring
Move message broadcasting into their own table to avoid polluting the global scope.
2016-06-19 09:32:16 +03:00
Sandu Liviu Catalin
431198378d Implement functions to broadcast messages to all players. 2016-06-19 08:13:38 +03:00
Sandu Liviu Catalin
4dc36b9889 Update player messaging to support alpha/transparency in the specified color. 2016-06-19 08:13:02 +03:00
Sandu Liviu Catalin
8846cb9351 Initial revision of the script loading system to be more flexible and accurate. 2016-06-18 20:31:35 +03:00
Sandu Liviu Catalin
b59710ddeb Prepare the script container for the revised script loading system. 2016-06-18 20:29:28 +03:00
Sandu Liviu Catalin
c8d5200dc0 Add a helper funtion to the system path library to obtain the full path of a file. 2016-06-18 20:27:51 +03:00
Sandu Liviu Catalin
fe70560234 Add a helper function to obtain the last system error as a string and throw it. 2016-06-18 20:27:23 +03:00
Sandu Liviu Catalin
4be562c926 Update the script loading system to load and compile all scripts first and then execute them. 2016-06-18 13:09:08 +03:00
Sandu Liviu Catalin
d1ae2fd7e8 Fix the 64bit build on windows by making sure the _WIN32_WINNT macro has the proper value to include GetTickCount64() and also default to regular GetTickCount() on 32bit as the 64bit placeholder. 2016-06-18 10:24:41 +03:00
Sandu Liviu Catalin
24eddb8051 Minor spelling mistakes in core class. 2016-06-17 06:48:13 +03:00
Sandu Liviu Catalin
6a31e9ee58 Allow the option to toggle debugging from configuration file. 2016-06-17 03:33:58 +03:00
Sandu Liviu Catalin
c76acc07dc Use the new script loading system to be able to hold script information for future debugging implementations.
Fixes issue with scripts being sorted rather then being executed in the load order.
2016-06-17 03:28:37 +03:00
Sandu Liviu Catalin
2242ac9394 Make constructor public in script container.
Throw exception if trying to create script container with invalid VM.
2016-06-17 03:26:29 +03:00
Sandu Liviu Catalin
2b6fdcd855 Implement utility to hold script contents for debugging purposes. 2016-06-17 03:15:02 +03:00
Sandu Liviu Catalin
399ef5a292 Fix minor misspelling in core class. 2016-06-17 03:14:26 +03:00
Sandu Liviu Catalin
b3f0e98758 Implement script bundles in the script loading process. 2016-06-17 01:40:10 +03:00
Sandu Liviu Catalin
af9c00298c Fix infinite loop when registering constants. 2016-06-16 03:12:01 +03:00
Sandu Liviu Catalin
f8fabaf0b5 Improve the names of elments in the Skins enumeration to be consistent with the other enumerations. 2016-06-16 02:44:13 +03:00
Sandu Liviu Catalin
9a66f2a5d6 Reduce overall compile time and executable size of constants registration. 2016-06-16 02:43:07 +03:00
Sandu Liviu Catalin
166760fd46 Export functions to at least create shared buffers from modules. 2016-06-15 10:01:07 +03:00
Sandu Liviu Catalin
bca0e1f3c6 More validations on identifiers obtained from the server.
Prevent out_of_range exceptions leak into the script as it would end up in a crash since Sqrat doesn't know how to handle them.
2016-06-15 06:11:47 +03:00
Sandu Liviu Catalin
ef41d0d243 Improve the SetAnimation method on player class.
Make it so that the animation group is optional.
2016-06-15 06:06:03 +03:00
Sandu Liviu Catalin
7391d9391e Prevent triggering the player option change event value din not change.
If the value for the specified option would not be changed then there's no point in triggering any event or attempting to set it again only and have the same effect.
Fixed minor misspelling in the player class source.
2016-06-14 04:42:18 +03:00
Sandu Liviu Catalin
5a225a70b9 Validate identifiers obtained from the server before using them.
Prevent aout_of_range exceptions from leaking to the script in case the server returns a negative identifier. Thus, resulting in a server crash since Squirrel would not know how to handle them.
2016-06-14 02:34:04 +03:00
Sandu Liviu Catalin
4327eaf72c Add helper functions to pack colors into integers.
This removes the need to create an instance of the Color3 or Color4 classes just to obtain a packed color integer.
2016-06-14 02:18:37 +03:00
Sandu Liviu Catalin
a71b45567a Added LastArmor alias to the player class for consistency. 2016-06-14 00:50:20 +03:00
Sandu Liviu Catalin
9c547ae8a8 Add the Colour alias when retrieving the color from Checkpoints. 2016-06-13 01:33:52 +03:00
Sandu Liviu Catalin
67d0360fb3 Add the Colour alias when retrieving the color from Blips. 2016-06-13 00:23:30 +03:00
Sandu Liviu Catalin
eb58f59f81 Implemented the sub logging functionality in linux.
The sub logs used the same color as regular logs, instead of a darker/dim text.
2016-06-11 18:01:26 +03:00
Sandu Liviu Catalin
e3ecc782ef Fix compile time error in Chrono library.
The get tick count functions were defined as members of the Chrono class.
2016-06-11 17:53:55 +03:00
Sandu Liviu Catalin
bc1e7dbde6 Implement the option to specify how many times you want to allow intensive entity events to be forwarded to script callbacks.
Also expose several properties for the vehicle entity type that I forgot about.
2016-06-08 16:53:16 +03:00
Sandu Liviu Catalin
6489dfdf08 Fix the command system which would fail on recursive command execution. 2016-06-08 16:26:55 +03:00