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
9874bbe1dc
Fix issue with modules not registering their API.
2016-07-17 03:47:38 +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
ac850f407d
Improve the handle validation in pure squirrel methods of the Connection class from the SQLite module.
2016-07-10 17:34:12 +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
aedacab931
Minor adjustment in the SQLite module statement when reporting unknown error.
2016-07-10 16:19:56 +03:00
Sandu Liviu Catalin
d71f76c63b
Fix an mistake in the declaration of the negation operator for the Buffer type.
2016-07-10 16:05:56 +03:00
Sandu Liviu Catalin
907df6966f
Fix the execute function which could execute an empty query.
2016-07-10 05:30:01 +03:00
Sandu Liviu Catalin
d36118272a
Minor fix in mysql module when executing update queries.
2016-07-10 05:04:57 +03:00
Sandu Liviu Catalin
a89acef503
Initial implementation for the second revision of the SQLite module.
...
Added a utility function to retrieve a time instance in seconds.
2016-07-10 03:00:33 +03:00
Sandu Liviu Catalin
01852606c8
Implement double when binding constants with Sqrat.
...
Minor chnage in buffer when throwing an exception.
2016-07-09 22:48:42 +03:00
Sandu Liviu Catalin
f401b265da
Don't use the common buffer in the functions that covert date and time instances to string.
2016-07-09 21:33:27 +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
bba09395d0
More incomplete implementation for the MySQL module.
2016-07-08 00:57:57 +03:00
Sandu Liviu Catalin
4e93e58397
Initial revision of the buffer implementation.
2016-07-08 00:56:54 +03:00
Sandu Liviu Catalin
e5f9fffd8e
Adjust the Sqrat exception class to look more like the standard std::exception.
2016-07-08 00:55:51 +03:00
Sandu Liviu Catalin
7fbc37fa4b
Don't duplicate the configuration header files of the JSON library because they're the same across compiled platforms.
2016-07-05 23:08:32 +03:00
Sandu Liviu Catalin
98c50ce7e1
Minor comment fix in the shared utility header.
2016-07-05 23:07:04 +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
e93319a381
Implement implicit or explicit conversions to boolean for Sqrat weak pointers.
2016-07-03 03:21:29 +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
46d8d12c74
Add method to return strings from MySQL result-set.
2016-06-30 15:52:20 +03:00
Sandu Liviu Catalin
7836f0ab23
Implement simple result stepping in the MySQL module.
2016-06-29 18:31:10 +03:00
Sandu Liviu Catalin
03237f9c15
Partial and untested revision of the MySQL module.
2016-06-28 01:15:31 +03:00
Sandu Liviu Catalin
fdc73d3ee8
Minor correction in SQLite module.
2016-06-28 01:13:43 +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
df114cd128
Fix wrong macro in SQLite module.
2016-06-22 15:12:38 +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
22fc6c54c2
Minor updates to the JSON module.
2016-06-20 18:53:09 +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
3a8d4952c1
Avoid sharing the same source file between multiple projects where there's a possibility that with each project object generated by the the source file could have a diffrent code used by other sources from the project.
...
Which can lead to undefined link time errors (at best) or run-time crashes (at worst).
2016-06-20 16:17:03 +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
59968893f5
Update the sample config to indicate that log file name supports strftime format.
2016-06-19 15:25:16 +03:00