aad10948b9
Emit the ScriptLoaded event before importing server entities to allow the scripts to prepare.
2016-06-26 16:30:19 +03:00
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
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
36e3ed8f7a
Clear vehicle instances on server shutdown or plugin reload. Should close #9
2016-06-25 00:01:36 +03:00
8846cb9351
Initial revision of the script loading system to be more flexible and accurate.
2016-06-18 20:31:35 +03:00
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
24eddb8051
Minor spelling mistakes in core class.
2016-06-17 06:48:13 +03:00
6a31e9ee58
Allow the option to toggle debugging from configuration file.
2016-06-17 03:33:58 +03:00
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
b3f0e98758
Implement script bundles in the script loading process.
2016-06-17 01:40:10 +03:00
0c92601362
Update the module API and merge shared code between modules and host plugin.
2016-06-03 21:26:19 +03:00
d8d240285d
Fix wrong parameter to format.
2016-05-26 06:57:42 +03:00
86a4933525
Release script callbacks properly in main plugin.
2016-05-24 21:36:49 +03:00
f05e562708
Move most of the reload implementation to the central core.
2016-05-24 19:26:43 +03:00
f8e845ebd2
Make the function environment optional in global callbacks.
2016-05-24 07:29:35 +03:00
75452625cd
Enable the reload system in the macros.
...
Prevent the reload from entering a cyrcular reload when sending plugin commands.
2016-05-24 06:51:40 +03:00
f2361a27c3
Untested update to the new plugin API.
...
Various other changes to the plugin as well.
2016-05-22 06:20:38 +03:00
216ac8bbc0
Use unordered maps for storing script instances and options.
...
Also update some of the code to use braces even for single statements.
2016-03-26 18:16:01 +02:00
42af986890
Initial implementation of reload mechanism.
2016-03-24 09:32:44 +02:00
e057f22402
Implement functions to import existing entity instances after loading is complete.
2016-03-24 08:44:01 +02:00
f5ec4e65ce
Also prevent the player entity instance from being destroyed in mid-destruction.
2016-03-24 07:23:01 +02:00
b877b1701b
Don't release the callbacks abruptly in Function destructor.
2016-03-24 06:59:02 +02:00
ff6cacaf68
Dumb approach to recive some kind of asserts if the program crashes because a component was used after it was deleted.
2016-03-24 06:43:02 +02:00
01bafd7c4f
Fix issues in the entity creation and destruction code.
...
Implement a locking mechanism to prevent entities be dstroyed in mid-destruction.
Also clean up properly when internal instances are deleted.
2016-03-24 05:28:55 +02:00
23617b1493
Remove exceptions from entity creation/destruction if the entity already exists or doesn't at all.
2016-03-24 04:20:33 +02:00
bcdb9707f0
Initialize the server callback that notify about player and vehicle updates.
2016-03-22 16:41:15 +02:00
a23d934482
Implemented the entity pool change server callback to actually create and release entity instances.
2016-03-22 04:27:11 +02:00
1f0d26da33
Separated the code that deallocates entity instances so it can be shared by entity pool change events from the server.
...
Minor improvements in the entity allocation methods.
Removed the return value from the function binding method.
2016-03-22 04:12:25 +02:00
b60c8bc12c
Separate the code that actually allocates the entity instance so it can be shared by entity pool change events from the server.
2016-03-22 03:29:27 +02:00
b8ddc7f3b8
Use script exceptions in central core if if an error occurred when creating entities.
2016-03-22 02:53:22 +02:00
f27a195b6f
Fixed the INI compilation on Linux by reverting to the original library.
...
Fixed an infinite loop in the parsing of command specification strings.
Added the option to retrieve common configs with a fall back value if they don't exist.
Few other minor changes.
2016-03-11 20:04:26 +02:00
70e5f0ba21
Migrated the host module to C++ exceptions as well.
...
Also enabled the latest C++ revision in the project.
Replaced the Random library with the one provided by C++11.
Implemented a simple AES256 encryption class.
Various other fixes and improvements.
2016-03-10 05:57:13 +02:00
f4a11ef825
Separated major non mandatory libraries into their onwn modules.
...
Consolidated and simplified the module API system.
Various other fixes and improvements.
2016-02-27 11:57:10 +02:00
fa12692490
Implemented the module system.
2016-02-23 17:48:30 +02:00
bedf03c9cd
Implemented the IRC library.
...
Fixed a bug in the Routine system that caused crashes when constructed with only the first three arguments because it wasn't attached.
Implemented a gentle release of functions to not release them if the reference count is 1.
Adjusted the Routine and Command system to not be necessary to include them in the module core.
Moved the INI and XML libraries into their own namespace.
Various other modifications and fixes.
2016-02-23 05:23:56 +02:00
1f62e1f88b
Initial implemenattion of routines.
2016-02-21 09:25:46 +02:00
06e598acfb
Dumped the old implementation. Started with a more simple approach.
2016-02-21 00:25:00 +02:00
3da18ee02b
Initial implementation of the internal debugging system.
2015-11-10 14:42:52 +02:00
bcf9d603e7
Implemented global and local player messaging customization.
2015-11-09 05:54:03 +02:00
b05b8f3859
Fixed several spelling mistakes in code class documentation.
2015-11-08 12:35:54 +02:00
673119db3d
Removed the root table reference from the core class which was causing a 998 error when the plugin was loaded.
2015-11-08 10:11:49 +02:00
c070c7acc8
More documentation for the core class.
2015-11-08 07:20:31 +02:00
3206d49404
Implemented a simple command system. Added a custom buffer class. Implemented reconnection for IRC sessions. Various other adjustments and additions.
2015-11-07 12:17:39 +02:00
46801b1ce8
Discarded the noexcept specifier entirely.
2015-11-01 05:48:01 +02:00
2409a896df
Changes required to compile on x64 and against extra compiler warnings.
2015-11-01 05:36:03 +02:00
db0de394d9
Spellcheck on the code documentation of core class.
2015-11-01 03:43:30 +02:00
1ebb2d15ce
More documentation in the core class code. Minor code adjustments. Removed leftover includes.
2015-11-01 03:41:13 +02:00
9686f9e664
Updated core class to take a Uint8 colors when creating checkpoints and speheres.
2015-11-01 01:30:45 +02:00
0aafb46af2
Revise the entity creation/destruction system.
2015-10-31 21:28:23 +02:00
0ccf4678a8
Documented the code in Core class and made a few minor modifications.
2015-10-29 22:06:31 +02:00