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

641 Commits

Author SHA1 Message Date
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
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