1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-12 18:57:16 +01:00
Commit Graph

39 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
14b73d1d20 Block all callbacks at shutdown event.
The server still invokes some callbacks even after shutdown. This prevents it from doing that by removing all callback pointers from the callback structure. Yet another nasty workaround.
2019-06-02 19:00:02 +03:00
Sandu Liviu Catalin
4f3c4dac48 Update the server initialize traceback.
Place the closing traceback before the success or failure message.
2019-06-02 18:19:39 +03:00
Sandu Liviu Catalin
4159272965 Disable traceback in performance report event.
This too is quite useless and annoying for now.
2019-06-02 18:13:04 +03:00
Sandu Liviu Catalin
fc18a3c6af Disable traceback for frame event completely.
I forgot to disable the traceback for the server callback.
2019-06-02 18:02:17 +03:00
Sandu Liviu Catalin
7efe523843 Dummy event server traceback.
Include dummy logs before and after server events to track their order and progress for easier. Current implementation is quite simple and doesn't take into account nesting.
2019-06-02 15:11:48 +03:00
Sandu Liviu Catalin
7fdcf7efc0 Implement new API changes.
Initial implementation of entity streaming events, 3D arrows, drunk effects., camera interpolation, entity options and whatnot. Not yet tested!
2019-06-02 00:39:06 +03:00
Sandu Liviu Catalin
600c21d45f Discard instances of constant StackStrF parameters. This should always be non-const if possible. 2019-02-17 17:23:59 +02:00
Sandu Liviu Catalin
0ebdb909df Avoid exceptions scaping during plugin initialization.
Use sub-logging to show the message from exception.
2018-07-27 22:43:19 +03:00
Sandu Liviu Catalin
53b541ca60 Implement the PlayerModuleList event callback. 2018-06-28 21:41:31 +03:00
Sandu Liviu Catalin
8125400f7f Return null entity instances instead of null for the functions that need to return an entity instance.
Finally fix the player unspectating bug and introduce a new event for when a player spectates none.
Update the global functions that check for player existance to use the new implementation.
2017-08-06 18:14:58 +03:00
Sandu Liviu Catalin
b3cdc101a4 Do not overwrite the core state upon receiving recursive event calls from the server.
And allow the script to implement a similar approach.
2017-06-19 16:10:31 +03:00
Sandu Liviu Catalin
e7bb68d76c Fix the crash at shut down caused by forgetting to release the global events table object.
Include the fixes from the routines that should've been commited into the previous commit.
Take a more exception safe approach to unbinding from server events at shutdown.
2017-02-21 21:42:40 +02:00
Sandu Liviu Catalin
41e04e5167 Initial implementation of the new event system.
Initial implementation of the new signals and slots class.
Fixed command parsing which compared a pointer to a character.
Buffer overflow fix in routines which used the limits from the entity tasks.
Switched from Sqrat::Object to Sqrat::LightObj in most places to avoid the overhead of the VM pointer.
Various other adjustments and improvements.
The plugin is currently in a broken state and crashes at shutdown. The bug is unknown at this point.
2017-02-21 21:24:59 +02:00
Sandu Liviu Catalin
2d07ed67b9 Initial implementation of entity tasks. 2016-11-17 00:23:59 +02: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
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
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
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
9a0973bbc6 Fix various spelling mistakes. 2016-08-24 00:27:22 +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
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
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
3fab6d931f Don't destroy entity instances from the server at server shutdown. 2016-07-16 17:52:55 +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
75f8f43696 Add a message to inform when the plugin is fully loaded. 2016-07-10 17:15:43 +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
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
f05e562708 Move most of the reload implementation to the central core. 2016-05-24 19:26:43 +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
b9b688581b Move routine processing outside the core class. 2016-05-23 03:54:50 +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
6647386d30 Forgot to assign the null pointer after destroying components. 2016-03-27 22:14:24 +03:00
Sandu Liviu Catalin
42af986890 Initial implementation of reload mechanism. 2016-03-24 09:32:44 +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
d2f3da1747 Catch exceptions during server callbacks.
Allow routines to safely terminate routines during execution.
Various other fixes and improvements.
2016-03-12 08:47:50 +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
06e598acfb Dumped the old implementation. Started with a more simple approach. 2016-02-21 00:25:00 +02:00