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

708 Commits

Author SHA1 Message Date
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
Sandu Liviu Catalin
6da98330ca Add option to retrieve the real file path in the system path library. 2016-09-04 00:49:32 +03:00
Sandu Liviu Catalin
8dacace7ae Fix duplicate member name in system property class. Also adjust several names to prevent possible collisions like this in the future. 2016-09-04 00:46:12 +03:00
Sandu Liviu Catalin
e445530bbb Implement a new module command that is called right before cosing the virtual machine to allow modules to release resources manually.
Should fix a possible crash in the IRC plugin which was caused by the Session destructor to be called recursively when cleaned automatically by the VM.
2016-09-02 14:11:39 +03:00
Sandu Liviu Catalin
e23e5d0a05 Return null entity instance instead of null object in FindByID algorithm. 2016-09-02 10:02:46 +03:00
Sandu Liviu Catalin
dddb972fd9 Fix the empty initialization option being ignored in the execution stage. 2016-08-27 12:15:51 +03:00
Sandu Liviu Catalin
7241d0bd02 Implement a simple utility method to extract the components of an IPv4 address. 2016-08-27 08:08:12 +03:00
Sandu Liviu Catalin
f9c2c879c4 Add extra validation when assigning a player name. 2016-08-27 04:03:24 +03:00
Sandu Liviu Catalin
77184fd9fb Don't perform a debug trace in the outer most level function. Assume that the debugger took care of that. 2016-08-26 18:29:05 +03:00
Sandu Liviu Catalin
9fcb65f63d Don't call the debugger explicitly where implicitly called. 2016-08-26 17:38:38 +03:00
Sandu Liviu Catalin
e953406b7f Don't catch application exceptions in the entity instance destruction because they probably left the VM stack in an invalid state and the server should be allowed to crash. 2016-08-26 17:21:50 +03:00
Sandu Liviu Catalin
a9ae69ce5e Don't catch application exceptions in the outer most event functions because they probably left the VM stack in an invalid state and the server should be allowed to crash. 2016-08-26 17:21:05 +03:00
Sandu Liviu Catalin
5d518ef479 Adjust the command execution to invoke the debugger and perform a traceback when catching script exceptions.
Don't catch application exceptions because in command execution because they probably left the stack in an invalid state and the server should be allowed to crash.
2016-08-26 17:18:18 +03:00
Sandu Liviu Catalin
e76026eae3 Invoke the debugger and traceback when catching exceptions from failure callback in command manager. 2016-08-26 17:16:33 +03:00
Sandu Liviu Catalin
e37d01cabd Allow unbinding of command listener callbacks by passing null. 2016-08-26 16:56:08 +03:00
Sandu Liviu Catalin
46fae978d7 Allow unbinding of command manager callbacks by passing null. 2016-08-26 16:54:23 +03:00
Sandu Liviu Catalin
11d5cff63b Prevent exceptions thrown during the destruction of an entrity instance from blocking the release of it's resources. 2016-08-25 23:47:59 +03:00
Sandu Liviu Catalin
dfbb0b9c46 Show a proper debug trace when catching squirrel exceptions at the event entry level. 2016-08-25 23:46:51 +03:00
Sandu Liviu Catalin
44d6905d3b Implement a logging option to hide some of the verbose output during plugin start up. 2016-08-25 12:22:39 +03:00
Sandu Liviu Catalin
28ac1e889a Don't use log messages to confirm the plugin was loaded or not since they can be ignored. 2016-08-25 12:00:48 +03:00
Sandu Liviu Catalin
d95f3253d4 Move the auto assign helper class to the shared utility header. 2016-08-25 11:54:29 +03:00
Sandu Liviu Catalin
64416c093c Implement a simple system for snippets to be notified when the scripts were loaded and about to be unloaded. 2016-08-25 03:08:44 +03:00
Sandu Liviu Catalin
fae1e51c7b Prevent ambiguity errors during compilation caused by the new dispatch system under x64 builds. 2016-08-25 01:01:03 +03:00
Sandu Liviu Catalin
d449247b5e Update the LongInt type to use the new dynamic dispatching system for metamethods. 2016-08-25 00:19:53 +03:00
Sandu Liviu Catalin
16656362cc Minor documentation for long integer helper types. 2016-08-24 23:36:48 +03:00
Sandu Liviu Catalin
a0316092e3 Update the Vector4 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:18:19 +03:00
Sandu Liviu Catalin
fd9979453b Update the Vector2i type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:18:08 +03:00
Sandu Liviu Catalin
ee7880d7f4 Update the Vector2 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:18:00 +03:00
Sandu Liviu Catalin
1a409b4919 Update the Sphere type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:37 +03:00
Sandu Liviu Catalin
1b95fba086 Update the Quaternion type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:29 +03:00
Sandu Liviu Catalin
b05b6409b8 Update the Color4 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:18 +03:00
Sandu Liviu Catalin
778b6ea59d Update the Color3 type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:09 +03:00
Sandu Liviu Catalin
64ed87f4b4 Update the Circle type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:17:01 +03:00
Sandu Liviu Catalin
67e8fa650f Update the AABB type to use the new dynamic dispatching system for metamethods. 2016-08-24 23:16:53 +03:00
Sandu Liviu Catalin
f88f8b9942 Remove leftover commented code from Vector3 registration code. 2016-08-24 23:16:37 +03:00
Sandu Liviu Catalin
86fcceb6ce Update the Routine type to use the new dynamic dispatching system for metamethods. 2016-08-24 22:29:00 +03:00
Sandu Liviu Catalin
7aafb79ba2 Update the Routine type to use the new dynamic dispatching system for metamethods. 2016-08-24 22:28:15 +03:00
Sandu Liviu Catalin
99da8892a4 Implement dynamic comparison for the Routine type. 2016-08-24 18:47:18 +03:00
Sandu Liviu Catalin
9a0973bbc6 Fix various spelling mistakes. 2016-08-24 00:27:22 +03:00
Sandu Liviu Catalin
fbb7dc9f75 Implemented various helper functions for the quaternion class. 2016-08-23 23:02:19 +03:00
Sandu Liviu Catalin
f3db1101ab Added a few helper constants in the shared header to prepare for Quaternion implementation. 2016-08-23 23:01:57 +03:00
Sandu Liviu Catalin
07d37831b9 Use 'color' instead of 'colour' internally and expose aliases to both for the script interface. 2016-08-21 18:07:35 +03:00
Sandu Liviu Catalin
a64fa8a3a1 Undo changes from previous commit. As it turns out this is just another conflict between Brits and Americans. A conflict which makes everything warn about a spelling mistake when it's not the case. 2016-08-20 22:42:54 +03:00
Sandu Liviu Catalin
ce7aed075c Fix a spelling mistake in event names. 2016-08-20 21:14:03 +03:00
Sandu Liviu Catalin
a35b127871 Fix the script loading process and further improve it with multi stage loading of scripts. 2016-08-19 19:46:26 +03:00
Sandu Liviu Catalin
e99e6259f7 Add a helper class to make sure a certain value is assigned to a variable regardless of the thrown exceptions. 2016-08-19 19:45:43 +03:00
Sandu Liviu Catalin
19ebddfc71 Expose identifiers of newlly added events. 2016-08-19 18:28:41 +03:00
Sandu Liviu Catalin
e179452a61 Implement a new event to receive notifications when an pickup auto timer has changed. 2016-08-19 18:26:52 +03:00
Sandu Liviu Catalin
a47f7541d0 Add the (pickup automatic status changed) event to the events enumeration. 2016-08-19 18:23:27 +03:00
Sandu Liviu Catalin
cdc0ac7585 Implement a new event to receive notifications when a pickup automatic status has changed. 2016-08-19 18:21:41 +03:00
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