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
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