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

751 Commits

Author SHA1 Message Date
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
Sandu Liviu Catalin
ba3f829750 Add the (pickup world changed) event to the events enumeration. 2016-08-19 18:05:00 +03:00
Sandu Liviu Catalin
5bfaf73f92 Remove duplicate line introduced by the addition of (pickup world change) event. 2016-08-19 18:03:04 +03:00
Sandu Liviu Catalin
f92dcab92a Fix worng script callback triggered from previously added event (pickup world change). 2016-08-19 18:00:23 +03:00
Sandu Liviu Catalin
102c77aa77 Implement a new event to receive notifications when an pickup world has changed. 2016-08-19 17:58:08 +03:00
Sandu Liviu Catalin
d08e57f69a Implement null instance in algorithms. 2016-08-19 04:07:43 +03:00
Sandu Liviu Catalin
4d3561d048 Implement algorithms for name filtering. 2016-08-19 03:49:50 +03:00
Sandu Liviu Catalin
59b0d20f08 Initial implementation of simple name filtering. 2016-08-19 03:27:56 +03:00
Sandu Liviu Catalin
7ebfe05cb3 Move the creation of null instances after the execution of scripts in order to allow customization of entity types. 2016-08-18 19:52:47 +03:00
Sandu Liviu Catalin
e9628e76de Implement a LoadScript function which checks for duplicates. Should close #3
Minor name adjustments for other functions for the sake of consistency.
2016-08-18 17:43:54 +03:00
Sandu Liviu Catalin
35eed62b17 Update event parameter names for consitency. 2016-08-18 17:20:49 +03:00
Sandu Liviu Catalin
8af8890152 Expose identifiers of newlly added events. 2016-08-18 17:13:49 +03:00
Sandu Liviu Catalin
ed5f1a86de Implement a new event to receive notifications when an object shot or touched report status has changed. 2016-08-18 17:12:00 +03:00
Sandu Liviu Catalin
9ce8a8a4f8 Implement a new event to receive notifications when an object alpha has changed. 2016-08-18 16:50:30 +03:00
Sandu Liviu Catalin
3bbff3f258 Implement a new event to receive notifications when an object world has changed. 2016-08-18 16:37:55 +03:00
Sandu Liviu Catalin
0afd4f3c2e Expose identifiers of newlly added events. 2016-08-18 16:16:49 +03:00
Sandu Liviu Catalin
8f74eccb1a Fixed a compilation error caused by a const correctness issue introduced by the recent Checkpoint events. 2016-08-18 16:15:53 +03:00
Sandu Liviu Catalin
5f60d7b90d Implement a new event to receive notifications when a checkpoint radius has changed. 2016-08-18 16:10:18 +03:00
Sandu Liviu Catalin
f38aa16b5f Implement a new event to receive notifications when a checkpoint world has changed. 2016-08-18 15:54:26 +03:00
Sandu Liviu Catalin
fee9b66750 Fix incorrect parameter name which was left over from previous implementations. 2016-08-18 15:38:20 +03:00
Sandu Liviu Catalin
6b0013c90c Fix compilation errors and adjust the event syantax to imclude correct information for VehiclePartStatus, VehicleTyreStatus and VehicleHandling events.
Also fix a couple other compilation issues resulted from changes in syntax and bad copy paste.
2016-08-18 15:32:18 +03:00
Sandu Liviu Catalin
959cf78c72 Expose identifiers of newlly added events. 2016-08-18 15:24:35 +03:00
Sandu Liviu Catalin
f86c12bff2 Implement a new event to receive notifications when a vehicle handling rule has changed. 2016-08-18 15:21:50 +03:00
Sandu Liviu Catalin
db522913d3 Implement a new event to receive notifications when a vehicle radio has changed. 2016-08-18 15:13:33 +03:00
Sandu Liviu Catalin
69325ed2cc Implement a new event to receive notifications when a vehicle damage data has changed. 2016-08-18 15:06:03 +03:00
Sandu Liviu Catalin
05443ba2d4 Implement a new event to receive notifications when a vehicle tyre status has changed. 2016-08-18 14:56:38 +03:00
Sandu Liviu Catalin
23948b5903 Implement a new event to receive notifications when a vehicle part status has changed. 2016-08-18 14:51:55 +03:00
Sandu Liviu Catalin
732769aff2 Implement a new event to receive notifications when a vehicle immunity has changed. 2016-08-18 14:45:12 +03:00
Sandu Liviu Catalin
ebc168e558 Implement a new event to receive notifications when a vehicle world has changed. 2016-08-18 14:38:00 +03:00
Sandu Liviu Catalin
eed7ec0358 Make the circular flag names more explicit to prevent possible collisions. 2016-08-18 14:20:41 +03:00
Sandu Liviu Catalin
2cfb84ace2 Expose identifiers of newlly added events and adjust intentations. 2016-08-17 16:13:24 +03:00
Sandu Liviu Catalin
3d8417759b Implement a new event to receive notifications when a player score has changed.
Fix syntax error in enumeration declaration.
Fix compilation error on const correctness in player method for changing player world.
2016-08-17 16:10:43 +03:00
Sandu Liviu Catalin
c6c17e9396 Implement a new event to receive notifications when a player immunity has changed. 2016-08-17 16:07:31 +03:00
Sandu Liviu Catalin
8f78b0a852 Implement a new event to receive notifications when a player wanted level has changed. 2016-08-17 16:04:14 +03:00
Sandu Liviu Catalin
203dd9802e Implement a new event to receive notifications when a player score has changed. 2016-08-17 16:00:28 +03:00
Sandu Liviu Catalin
e9b6d9765b Implement a new event to receive notifications when a player money has changed. 2016-08-17 15:55:59 +03:00
Sandu Liviu Catalin
16f35cbef6 Implement a new event to receive notifications when a player skin has changed. 2016-08-17 15:52:22 +03:00
Sandu Liviu Catalin
ad774fcb3f Implement a new event to receive notifications when a player team has changed. 2016-08-17 15:49:08 +03:00
Sandu Liviu Catalin
84bae9432a Implement a new event to receive notifications when a player world has changed. 2016-08-17 15:45:44 +03:00
Sandu Liviu Catalin
c5ef8018ae Implement a new event to notify on player admin status change. 2016-08-17 15:40:48 +03:00
Sandu Liviu Catalin
b4abe9dfc7 Fix the SetOption methods on the Player type which did not validate the managed player identifier and neither create a guard to prevent recursive event calls. Also, reduce duplicate code. 2016-08-17 15:31:45 +03:00
Sandu Liviu Catalin
0861559e0b Adjust the distance method in Vector3 type. 2016-08-17 13:51:14 +03:00
Sandu Liviu Catalin
c4e82d6756 Add the ability to specify a custom header/payload when kicking/banning a player. 2016-08-17 13:48:29 +03:00
Sandu Liviu Catalin
4e039d415a Create null instances only after the plugin API was registered. Otherwise the server would've crashed at startup. 2016-08-17 13:30:48 +03:00
Sandu Liviu Catalin
5b897f21e8 Adjust the code that creates the null entity instances. 2016-08-07 02:02:50 +03:00
Sandu Liviu Catalin
65b3482828 Don't validate the instance when setting the spectator so null instances can be used and disable the spectating. 2016-08-07 01:56:11 +03:00
Sandu Liviu Catalin
29b0f8d4c9 Add the possibility to have null entity instances intentionally. 2016-08-07 01:54:33 +03:00
Sandu Liviu Catalin
5c26ba62df Add helper methods to the Vector3 type to rotate on each individual axis. 2016-08-04 03:42:48 +03:00
Sandu Liviu Catalin
ef2bc41fbc Add method to the Vector3 type to obtain a rotated version of the point. 2016-08-04 03:41:46 +03:00
Sandu Liviu Catalin
4a2b9d5400 Add methods to the Vector3 type to calculate interpolation. 2016-08-04 03:40:01 +03:00
Sandu Liviu Catalin
26c0bc4872 Add methods to the Vector3 type to calculate the angle and check if between two points. 2016-08-04 03:38:54 +03:00
Sandu Liviu Catalin
cb819d417b Add methods to the Vector3 type to calculate the dot and cross product. 2016-08-04 03:37:26 +03:00
Sandu Liviu Catalin
18d0fedb91 Add methods to the Vector3 type to calculate the distance to another point. 2016-08-04 03:35:27 +03:00
Sandu Liviu Catalin
2d726420e0 Add methods/properties to the Vector3 type to retrieve the length and normalize it. 2016-08-04 03:34:16 +03:00
Sandu Liviu Catalin
6e7c14eafb Implement Quaternion to Euler conversion as a member method to Vector3 type. 2016-08-04 03:30:19 +03:00
Sandu Liviu Catalin
624606e482 Add a few more helper members to the Vector3 type. 2016-08-04 03:21:43 +03:00
Sandu Liviu Catalin
9fcbf54893 Add IDENTITY helper to the quaternion. 2016-08-04 03:09:43 +03:00
Sandu Liviu Catalin
9c4198770d Add hepter variables and typedefs to the shared basic header. 2016-08-04 03:08:59 +03:00
Sandu Liviu Catalin
c5192399e2 Spelling mistake in weapon name. 2016-07-31 18:31:33 +03:00
Sandu Liviu Catalin
7e65a1b21f Adjust skin names array to include the identifier before the name so it's easier to read. 2016-07-30 22:02:37 +03:00
Sandu Liviu Catalin
046d33b49d Adjust vehicle names array to include the identifier before the name so it's easier to read. 2016-07-30 22:02:28 +03:00
Sandu Liviu Catalin
3a216b5447 Add heli-blade to the list of weapon names. 2016-07-30 19:45:30 +03:00
Sandu Liviu Catalin
ec26be1fb2 Move alias at the end of the registration. To avoid issues when working multi-select and expecting values to match the order of the macros. 2016-07-29 23:36:16 +03:00
Sandu Liviu Catalin
d4f39e636e Fix the inequality operator in basic types. 2016-07-29 18:00:10 +03:00
Sandu Liviu Catalin
3b925c21d5 More missing weapon identifiers. Related to #23
Fix the max value for the various identifier groups.
2016-07-28 21:10:07 +03:00
Sandu Liviu Catalin
0c324557f6 Remove unnecessary collision checks when converting a weapon name to an identifier. 2016-07-28 16:50:24 +03:00
Sandu Liviu Catalin
d2719a5223 Include the shared header to prevent compilation errors on the account of undeclared functions. 2016-07-28 01:23:34 +03:00
Sandu Liviu Catalin
0b6f817e1f Minor adjustments in functions that convert skin, vehicle, weapon name to identifier. 2016-07-28 00:15:59 +03:00
Sandu Liviu Catalin
7735070ef8 Adjust range checks when converting vehicle name to identifier. 2016-07-28 00:14:02 +03:00
Sandu Liviu Catalin
7b3b7cb6c2 Adjust range checks when converting weapon name to identifier. 2016-07-28 00:13:02 +03:00
Sandu Liviu Catalin
7cb413111e Adjust range checks when converting skin name to identifier. 2016-07-28 00:10:15 +03:00
Sandu Liviu Catalin
63da454de8 Fix incorrect range check when converting skin name to identifier. 2016-07-28 00:08:29 +03:00
Sandu Liviu Catalin
0559e224ad Fix incorrect range check when converting skin name to identifier. 2016-07-28 00:07:57 +03:00
Sandu Liviu Catalin
247ea2a357 Fix incorrect range check when converting vehicle name to identifier. 2016-07-28 00:04:22 +03:00
Sandu Liviu Catalin
1c12c53cc9 Fix incorrect range check when converting weapon name to identifier. 2016-07-28 00:01:40 +03:00
Sandu Liviu Catalin
ed6bb9802f Add missing weapon identifier for Heli-blade. Should close #23 2016-07-27 23:59:43 +03:00
Sandu Liviu Catalin
93e6e9f77a Adjust the name from Rocket to Missile to prevent poossible collisions when converting from name to identifier. Should close #24 2016-07-27 23:49:02 +03:00
Sandu Liviu Catalin
6eb0e97a71 Fix wrong function registered under the wrong name. 2016-07-27 23:35:52 +03:00
Sandu Liviu Catalin
58ad1d59e5 Add functions to obtain a district name from a certaint point on the map. Should close #28 2016-07-27 23:34:56 +03:00
Sandu Liviu Catalin
f7b0909ed7 Expose functionality to emit custom entity events. 2016-07-27 00:13:50 +03:00
Sandu Liviu Catalin
18f5f90a47 Implement case insensitive search in algorithms. 2016-07-26 23:08:27 +03:00
Sandu Liviu Catalin
48485981f0 Improve Circle method names to be more consistent with the rest of the basic types. 2016-07-25 00:32:35 +03:00
Sandu Liviu Catalin
d30e1210ac Improve the Vector4 registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:28:37 +03:00
Sandu Liviu Catalin
2857e0e4be Improve the Vector3 registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:10:46 +03:00
Sandu Liviu Catalin
76bef3d87c Improve Color4 method names to be more consistent with the rest of the basic types. 2016-07-25 00:10:26 +03:00
Sandu Liviu Catalin
c8d2e9249a Improve Color3 method names to be more consistent with the rest of the basic types. 2016-07-25 00:10:17 +03:00
Sandu Liviu Catalin
484923790a Update Circle to comply with the changes made to Vector2. 2016-07-25 00:09:31 +03:00
Sandu Liviu Catalin
aa65c79926 Improve the Vector2i registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:09:05 +03:00
Sandu Liviu Catalin
a695690ec7 Improve the Vector2 registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:08:53 +03:00
Sandu Liviu Catalin
c8685919de Improve the Sphere registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:08:37 +03:00
Sandu Liviu Catalin
13ddc704d6 Improve the Quaternion registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-25 00:08:28 +03:00
Sandu Liviu Catalin
274ce72a4b Improve the AABB registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-24 23:18:27 +03:00
Sandu Liviu Catalin
3cea68bdca Improve the Color4 registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-24 23:18:12 +03:00
Sandu Liviu Catalin
03312b7340 Improve the Color3 registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-24 23:17:56 +03:00
Sandu Liviu Catalin
5502c7f8c7 Improve the Circle registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-24 23:17:47 +03:00
Sandu Liviu Catalin
38e5761b94 Improve the AABB registration code to avoid using overloads where not necessary.
Also restructured the registration code a bit.
2016-07-24 21:58:34 +03:00
Sandu Liviu Catalin
ad1955dbdd Add static functions to access and modify string delimiter for bas types since static properties are read only. 2016-07-24 21:29:37 +03:00
Sandu Liviu Catalin
5cc8cfffa9 Update GetWeaponID() to recognize "Ingram" without the "Silenced" portion. 2016-07-17 16:49:15 +03:00
Sandu Liviu Catalin
67e2ba9107 Implement both the uppercase and lowercase versions of properties for base types. 2016-07-17 15:39:59 +03:00
Sandu Liviu Catalin
c5d3235aec Add algorithms to count entities with certain aspects. 2016-07-17 13:33:42 +03:00
Sandu Liviu Catalin
9434deb804 Stop using hard-coded values for plug-in commands in the host plug-in. 2016-07-17 03:56:52 +03:00
Sandu Liviu Catalin
78f5ef7811 Adjust names of exported module functions to not use the names from previous implementation. 2016-07-17 03:50:29 +03:00
Sandu Liviu Catalin
66d1110733 Rvised the API distribution system to avoid segmentation fault crashes on Linux and make the overal code cleaner.
Moved the constants in IRC module into their own source and implemented a faster method of registering them.
Various other minor changes and adjustments. Some of them in order to comply with the new API distribution system.
2016-07-17 03:24:07 +03:00
Sandu Liviu Catalin
5ddb222903 Prevent server callbacks not being bound when compiling on linux. 2016-07-16 21:51:01 +03:00
Sandu Liviu Catalin
1229e7f59f Revise the entity clean up to fix crash at server shutdown, remove duplicate code and overall make the code more reliable.
Various other minor changes surrounding the entity destruction from the server.
2016-07-16 19:39:51 +03:00
Sandu Liviu Catalin
88765b80c0 Forgot to complete the proper variable names when clearing entity container names. 2016-07-16 18:07:07 +03:00
Sandu Liviu Catalin
3fab6d931f Don't destroy entity instances from the server at server shutdown. 2016-07-16 17:52:55 +03:00
Sandu Liviu Catalin
0599b57087 Minor documentation in core class and some const-correctness when cleaning entity instance containers. 2016-07-16 16:17:09 +03:00
Sandu Liviu Catalin
e32464b6ea Don't clear entity containers untill after the virtual machine was closed. Should close #22 2016-07-16 15:45:36 +03:00
Sandu Liviu Catalin
7fe7116df4 Fix command system not recognizing greedy argument types after changes in previous commits. Credits to @DrakezZ for spotting the issue 2016-07-16 13:44:03 +03:00
Sandu Liviu Catalin
efb284d880 Forgot to also update the global event for player position with the new parameters. 2016-07-15 21:20:16 +03:00
Sandu Liviu Catalin
f46adb50dc Fix sorting in command system which was going in the reverse order. Credits to @DrakezZ for spotting the issue 2016-07-15 14:19:29 +03:00
Sandu Liviu Catalin
89bd8a3cd7 Fix private message event calling the regular chat message finction instead. Should close #15 2016-07-14 23:46:57 +03:00
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
Sandu Liviu Catalin
221e27e090 Remove implementation of the Decimal time. Not worth the troublem. 2016-06-05 04:28:45 +03:00
Sandu Liviu Catalin
3411f7c64b Export basic interaction with the decimal type. 2016-06-05 04:16:42 +03:00
Sandu Liviu Catalin
723f6296e2 Minor addition to the Decimal time. 2016-06-05 04:15:55 +03:00
Sandu Liviu Catalin
a1af9af0d7 Fix wrong includes left over by the merge of numeric libraries. 2016-06-05 04:15:23 +03:00
Sandu Liviu Catalin
17e78b83dd Initial untested implementation of the Decimal type. 2016-06-05 03:54:15 +03:00
Sandu Liviu Catalin
07b8a8b4a0 Minor improvements on the LongInt classes. 2016-06-05 03:53:58 +03:00
Sandu Liviu Catalin
d42040c9c0 Merge the Random and Math libraries into the Numeric library and organize code a bit. 2016-06-05 00:00:59 +03:00
Sandu Liviu Catalin
cce6beb4d5 Fix the exported API for the Chrono library to use unsigned integers. 2016-06-04 23:10:35 +03:00
Sandu Liviu Catalin
2aa7e8b7c2 Furher implementation and improvement of the Chrono types and also exposed them to the module API.
Tighten the safety of exported functions to avoid exceptions leaking outside the host plugin.
2016-06-04 22:33:34 +03:00
Sandu Liviu Catalin
36c49cd09c Forgot to register the Hash and AES sub libraries from the main Crypt library. 2016-06-04 22:32:08 +03:00
Sandu Liviu Catalin
0093bc2dec Implemented and improved more types in the Chrono library. 2016-06-04 19:17:42 +03:00
Sandu Liviu Catalin
ba6acb0d19 Implement the Date type. 2016-06-04 11:55:06 +03:00
Sandu Liviu Catalin
0c92601362 Update the module API and merge shared code between modules and host plugin. 2016-06-03 21:26:19 +03:00
Sandu Liviu Catalin
423bdfcdab Remove duplicate property from player class. 2016-05-26 08:55:48 +03:00
Sandu Liviu Catalin
d8d240285d Fix wrong parameter to format. 2016-05-26 06:57:42 +03:00
Sandu Liviu Catalin
7ee5fe2f0c Remove the {fmt} library from the project. Too many compilation issues with it. 2016-05-25 22:47:55 +03:00
Sandu Liviu Catalin
ec0a01d976 Remove obsolete files from the library folder. 2016-05-25 21:17:30 +03:00
Sandu Liviu Catalin
86a4933525 Release script callbacks properly in main plugin. 2016-05-24 21:36:49 +03:00
Sandu Liviu Catalin
f05e562708 Move most of the reload implementation to the central core. 2016-05-24 19:26:43 +03:00
Sandu Liviu Catalin
9d254a805c Separate micellaneous functions. 2016-05-24 18:45:50 +03:00
Sandu Liviu Catalin
76621cf946 Separate the IO library into smaller sub components.
Merge the INI module with the main plugin IO library.
2016-05-24 18:37:34 +03:00
Sandu Liviu Catalin
d7c4d389eb Throw an error if the given player name is invalid. 2016-05-24 08:26:47 +03:00
Sandu Liviu Catalin
56970f69c2 Exported more enumerations from teh SDK.
Renamed several existing enumerations for consistency.
2016-05-24 08:18:39 +03:00
Sandu Liviu Catalin
f8e845ebd2 Make the function environment optional in global callbacks. 2016-05-24 07:29:35 +03:00
Sandu Liviu Catalin
3ed0b22426 Make the function environment optional in entity callbacks. 2016-05-24 07:29:14 +03:00
Sandu Liviu Catalin
33790805eb Make the function environment optional in routine callbacks. 2016-05-24 07:24:21 +03:00
Sandu Liviu Catalin
75452625cd Enable the reload system in the macros.
Prevent the reload from entering a cyrcular reload when sending plugin commands.
2016-05-24 06:51:40 +03:00
Sandu Liviu Catalin
45c5f1129e Get rid of type aliasing warning. 2016-05-24 05:39:54 +03:00
Sandu Liviu Catalin
efa578e8a6 Add aliases for color and colour. 2016-05-24 04:59:36 +03:00
Sandu Liviu Catalin
82c3fa4439 Update the {fmt} library to fix the colision with C string.h header. 2016-05-23 22:42:49 +03:00
Sandu Liviu Catalin
250407feda Minor changes to the LongInt type. 2016-05-23 18:45:21 +03:00
Sandu Liviu Catalin
c135d4293e Remove irrelevant argument from the IToF function. 2016-05-23 05:39:32 +03:00
Sandu Liviu Catalin
b9b688581b Move routine processing outside the core class. 2016-05-23 03:54:50 +03:00
Sandu Liviu Catalin
86297882d5 Implement the custom event functions. 2016-05-23 03:51:44 +03:00
Sandu Liviu Catalin
fdd06e8c2e Minor aditions to the system path library.
Fixed small const correctness in remaining typename functions.
Added a flag to block certain format warnings on x64 builds.
2016-05-23 03:34:35 +03:00
Sandu Liviu Catalin
6822172f6a Updated the Squirrel and Sqrat libraries to the latest development versions. 2016-05-22 22:51:59 +03:00
Sandu Liviu Catalin
f2361a27c3 Untested update to the new plugin API.
Various other changes to the plugin as well.
2016-05-22 06:20:38 +03:00
Sandu Liviu Catalin
955aa218f2 Explicitly delete any copy/move operations from the logger class. 2016-04-20 09:24:37 +03:00
Sandu Liviu Catalin
1d2a23dd6c Minor changes in the encryption library. 2016-04-20 09:24:04 +03:00
Sandu Liviu Catalin
acdf9300b6 Update the type conversion utility to include more types and be more flexible. 2016-04-20 09:23:18 +03:00
Sandu Liviu Catalin
1017fc5c1a Fix the digit counting helpers to take into account negative values. 2016-04-14 04:50:44 +03:00
Sandu Liviu Catalin
4504ae0550 Remove leftover printf from math library, 2016-04-14 04:44:20 +03:00
Sandu Liviu Catalin
be8b631aea Added several functions to the math library to count integer digts and generate floating point numbers from integers. 2016-04-14 04:39:43 +03:00
Sandu Liviu Catalin
b818a162ee Initial implementation of the standard math library.
Implemented utilities to convert between fundamental types.
Implemented helper functions to retrieve numeric values from the stack at all costs.
Implemented various delegates on the long integer types to mimic the standard types.
Moved most of the stack utilities in a separate source.
Various other fixes and improvements.
2016-04-14 03:08:06 +03:00
Sandu Liviu Catalin
ea9f60e32c Fix a buffer underflow in the Center function from the string library. 2016-04-03 23:23:01 +03:00
Sandu Liviu Catalin
159e2f5929 Fix a posible buffer overflow from the previous commit. 2016-04-03 21:27:57 +03:00
Sandu Liviu Catalin
ef27cf3c5f Update the SToB function to convert the string to lowercase first and then perform the comparison. 2016-04-03 21:26:58 +03:00
Sandu Liviu Catalin
6f4ea3b06d Also include the lower/upper case conversion functions in the string library. 2016-04-03 21:10:17 +03:00
Sandu Liviu Catalin
45f1053f99 Implement the character clasification functions into the string library. 2016-04-03 21:09:49 +03:00
Sandu Liviu Catalin
ab3edcfe4d Remove functions that check character class from the shared code.
Expose the remaining floating point comparison functions.
2016-04-03 21:09:08 +03:00
Sandu Liviu Catalin
484b6978fb Minor changes in modules and host plugin. 2016-04-02 13:13:32 +03:00
Sandu Liviu Catalin
522f6cfd01 Remove legacy casting when packing colors. 2016-04-02 12:33:24 +03:00
Sandu Liviu Catalin
dfacd2c86c Reverse the order of the VM and stack top in stack guard. 2016-04-02 12:32:39 +03:00
Sandu Liviu Catalin
3a08e17cad Remove duplicate information when warning about command name collisions. 2016-03-29 05:58:12 +03:00
Sandu Liviu Catalin
eed7b70374 Helper classes to used CType functions as predicate in algorithms. 2016-03-29 05:39:17 +03:00
Sandu Liviu Catalin
7dffcd0f6e Include another alias for retrieving the current architecture. 2016-03-29 05:37:47 +03:00
Sandu Liviu Catalin
29da6850e4 Avoid GCC error "array subscript is above array bounds" which probably considers that the unsigned char could underflow and access an element out of the months range. 2016-03-27 22:15:51 +03:00
Sandu Liviu Catalin
6647386d30 Forgot to assign the null pointer after destroying components. 2016-03-27 22:14:24 +03:00
Sandu Liviu Catalin
71b255e5dc Use the uint64_t type instead of Uint64 when retrieveing serer time to fix an issue on x64 linux. 2016-03-27 19:06:21 +03:00
Sandu Liviu Catalin
49c2c46341 Remove extraneous character from printf inside the logger under linux. 2016-03-27 18:56:26 +03:00
Sandu Liviu Catalin
b8881b0059 Include the header that contains the PATH_MAX on linux in system path library.
Move the common typedefs inside the namespace otherwise the character type is not found.
2016-03-27 18:55:34 +03:00
Sandu Liviu Catalin
e0c2c01e25 Include the header that contains the PATH_MAX on linux in system environment library.
Use Append string instead of Write string when writing data to a buffer.
Remove leftover semicolon in 'else if' statement.
2016-03-27 18:54:45 +03:00
Sandu Liviu Catalin
e70afea7ad Fixed wrong variable name on linux in chrono library. 2016-03-27 18:43:18 +03:00
Sandu Liviu Catalin
0812472ac5 Forgot to include variable arguments library in shared buffers. 2016-03-27 18:41:10 +03:00
Sandu Liviu Catalin
a4cf2dae85 Added a custom delimiter for time and date and also the option to extract values from strings. 2016-03-26 18:18:41 +02:00
Sandu Liviu Catalin
b5215b38e3 Implement function to retrieve all active vehicles. 2016-03-26 18:17:38 +02:00
Sandu Liviu Catalin
aeba86bddf Implement function to retrieve all active textdraws. 2016-03-26 18:17:31 +02:00
Sandu Liviu Catalin
5d15342342 Implement function to retrieve all active sprites. 2016-03-26 18:17:21 +02:00
Sandu Liviu Catalin
c79598d843 Implement function to retrieve all active players. 2016-03-26 18:17:12 +02:00
Sandu Liviu Catalin
1472594c7f Implement function to retrieve all active pickups. 2016-03-26 18:17:05 +02:00
Sandu Liviu Catalin
6683930250 Implement function to retrieve all active objects. 2016-03-26 18:16:58 +02:00
Sandu Liviu Catalin
534a582561 Implement function to retrieve all active keybinds. 2016-03-26 18:16:50 +02:00
Sandu Liviu Catalin
054b4f080e Implement function to retrieve all active forcefields. 2016-03-26 18:16:41 +02:00
Sandu Liviu Catalin
ea9a370471 Implement function to retrieve all active checkpoints. 2016-03-26 18:16:32 +02:00
Sandu Liviu Catalin
067693d250 Implement function to retrieve all active blips. 2016-03-26 18:16:18 +02:00
Sandu Liviu Catalin
216ac8bbc0 Use unordered maps for storing script instances and options.
Also update some of the code to use braces even for single statements.
2016-03-26 18:16:01 +02:00
Sandu Liviu Catalin
886e525119 Implement a helper function to clamp a value between the ranges of another type. 2016-03-26 18:14:47 +02:00
Sandu Liviu Catalin
b486ecc2fb Fix the hide object function to calculate the correct coordinates but also implement the raw function. 2016-03-26 18:14:00 +02:00
Sandu Liviu Catalin
f9ef0040c9 Remove leftover includes from previous merge of the time utilities. 2016-03-25 14:43:26 +02:00
Sandu Liviu Catalin
e167a59f83 Merge the time utilities under the chrono library. 2016-03-25 14:28:07 +02:00
Sandu Liviu Catalin
f3af787bad Don't remove immediate routines bucket. 2016-03-25 13:11:21 +02:00
Sandu Liviu Catalin
ad9e02e5fb Update the standard printf function to use the dynamic string retrieval method.
Remove leftover includes from the string and crypt libraries.
2016-03-25 02:05:46 +02:00
Sandu Liviu Catalin
c9c0486e9f Remove duplicate code from the Crypt library and use the shared dynamic string argument retrieval. 2016-03-25 02:00:37 +02:00
Sandu Liviu Catalin
8828c004ca Add the declaration of the functions that return buffers in string library. 2016-03-25 01:54:43 +02:00
Sandu Liviu Catalin
299bc5ba77 Update the remaining functions from the string library to a more dynamic style. 2016-03-25 01:50:05 +02:00
Sandu Liviu Catalin
2e3fc1e47e Remove useless code from ToLower function in the string library and also name the shorter alias more appropriately. 2016-03-25 01:44:55 +02:00