1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2026-04-19 10:37:21 +02:00
Commit Graph

56 Commits

Author SHA1 Message Date
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 36e3ed8f7a Clear vehicle instances on server shutdown or plugin reload. Should close #9 2016-06-25 00:01:36 +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 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 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 b3f0e98758 Implement script bundles in the script loading process. 2016-06-17 01:40:10 +03:00
Sandu Liviu Catalin 0c92601362 Update the module API and merge shared code between modules and host plugin. 2016-06-03 21:26:19 +03:00
Sandu Liviu Catalin d8d240285d Fix wrong parameter to format. 2016-05-26 06:57:42 +03:00
Sandu Liviu Catalin 86a4933525 Release script callbacks properly in main plugin. 2016-05-24 21:36:49 +03:00
Sandu Liviu Catalin f05e562708 Move most of the reload implementation to the central core. 2016-05-24 19:26:43 +03:00
Sandu Liviu Catalin f8e845ebd2 Make the function environment optional in global callbacks. 2016-05-24 07:29:35 +03:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin f2361a27c3 Untested update to the new plugin API.
Various other changes to the plugin as well.
2016-05-22 06:20:38 +03:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 42af986890 Initial implementation of reload mechanism. 2016-03-24 09:32:44 +02:00
Sandu Liviu Catalin e057f22402 Implement functions to import existing entity instances after loading is complete. 2016-03-24 08:44:01 +02:00
Sandu Liviu Catalin f5ec4e65ce Also prevent the player entity instance from being destroyed in mid-destruction. 2016-03-24 07:23:01 +02:00
Sandu Liviu Catalin b877b1701b Don't release the callbacks abruptly in Function destructor. 2016-03-24 06:59:02 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin bcdb9707f0 Initialize the server callback that notify about player and vehicle updates. 2016-03-22 16:41:15 +02:00
Sandu Liviu Catalin a23d934482 Implemented the entity pool change server callback to actually create and release entity instances. 2016-03-22 04:27:11 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin b8ddc7f3b8 Use script exceptions in central core if if an error occurred when creating entities. 2016-03-22 02:53:22 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin fa12692490 Implemented the module system. 2016-02-23 17:48:30 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 1f62e1f88b Initial implemenattion of routines. 2016-02-21 09:25:46 +02:00
Sandu Liviu Catalin 06e598acfb Dumped the old implementation. Started with a more simple approach. 2016-02-21 00:25:00 +02:00
Sandu Liviu Catalin 3da18ee02b Initial implementation of the internal debugging system. 2015-11-10 14:42:52 +02:00
Sandu Liviu Catalin bcf9d603e7 Implemented global and local player messaging customization. 2015-11-09 05:54:03 +02:00
Sandu Liviu Catalin b05b8f3859 Fixed several spelling mistakes in code class documentation. 2015-11-08 12:35:54 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin c070c7acc8 More documentation for the core class. 2015-11-08 07:20:31 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 46801b1ce8 Discarded the noexcept specifier entirely. 2015-11-01 05:48:01 +02:00
Sandu Liviu Catalin 2409a896df Changes required to compile on x64 and against extra compiler warnings. 2015-11-01 05:36:03 +02:00
Sandu Liviu Catalin db0de394d9 Spellcheck on the code documentation of core class. 2015-11-01 03:43:30 +02:00
Sandu Liviu Catalin 1ebb2d15ce More documentation in the core class code. Minor code adjustments. Removed leftover includes. 2015-11-01 03:41:13 +02:00
Sandu Liviu Catalin 9686f9e664 Updated core class to take a Uint8 colors when creating checkpoints and speheres. 2015-11-01 01:30:45 +02:00
Sandu Liviu Catalin 0aafb46af2 Revise the entity creation/destruction system. 2015-10-31 21:28:23 +02:00
Sandu Liviu Catalin 0ccf4678a8 Documented the code in Core class and made a few minor modifications. 2015-10-29 22:06:31 +02:00