1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-07-06 00:47:11 +02:00
Commit Graph

56 Commits

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