Sandu Liviu Catalin
061110914a
Include code line in runtime debug.
...
Include the line of code where the error occured into the debug message. Further adjustments to the oeverall implementation.
2019-06-16 02:51:16 +03:00
Sandu Liviu Catalin
acea3db378
Move line retrieval into the script wrapper.
...
Might be used elsewhere.
2019-06-16 02:20:18 +03:00
Sandu Liviu Catalin
d6a3937107
Include code line in debug.
...
Includes the line of code that causes a syntax error. Few other minor fixes.
2019-06-16 02:12:51 +03:00
Sandu Liviu Catalin
b1d214b196
Fix format argument.
...
Error handler would not include file column because the argument could not be recognized.
2019-06-15 23:20:43 +03:00
Sandu Liviu Catalin
b3ab60a6c7
Format validation.
...
Include format validation in log messages by using GCC's format attribute.
2019-06-02 17:12:17 +03:00
Sandu Liviu Catalin
b54dd0a0b9
Implement logging callbacks to allow sharing of output with other mediums.
2019-05-01 18:00:24 +03:00
Sandu Liviu Catalin
05159b5558
Do a better job of extracting the error sting from the thrown object.
2019-05-01 16:04:29 +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
0ad290ca34
Restructure some files.
2018-07-29 12:25:44 +03:00
Sandu Liviu Catalin
2fb58f9fbf
Initial implementation of the area system.
2017-06-19 04:09:35 +03: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
b946e7a9b9
Initial implementation of the built-in event system based on the signals and slots design.
2016-10-30 18:26:37 +02:00
Sandu Liviu Catalin
501d0884f3
Adjust various debugging messages during the script loading stage inside the plugin core.
2016-09-11 20:48:20 +03:00
Sandu Liviu Catalin
2cd5054f92
Update log message to not be a duplicate of another right bellow it.
2016-09-04 01:27:00 +03:00
Sandu Liviu Catalin
e445530bbb
Implement a new module command that is called right before cosing the virtual machine to allow modules to release resources manually.
...
Should fix a possible crash in the IRC plugin which was caused by the Session destructor to be called recursively when cleaned automatically by the VM.
2016-09-02 14:11:39 +03:00
Sandu Liviu Catalin
dddb972fd9
Fix the empty initialization option being ignored in the execution stage.
2016-08-27 12:15:51 +03:00
Sandu Liviu Catalin
e953406b7f
Don't catch application exceptions in the entity instance destruction because they probably left the VM stack in an invalid state and the server should be allowed to crash.
2016-08-26 17:21:50 +03:00
Sandu Liviu Catalin
11d5cff63b
Prevent exceptions thrown during the destruction of an entrity instance from blocking the release of it's resources.
2016-08-25 23:47:59 +03:00
Sandu Liviu Catalin
44d6905d3b
Implement a logging option to hide some of the verbose output during plugin start up.
2016-08-25 12:22:39 +03:00
Sandu Liviu Catalin
64416c093c
Implement a simple system for snippets to be notified when the scripts were loaded and about to be unloaded.
2016-08-25 03:08:44 +03:00
Sandu Liviu Catalin
9a0973bbc6
Fix various spelling mistakes.
2016-08-24 00:27:22 +03:00
Sandu Liviu Catalin
a35b127871
Fix the script loading process and further improve it with multi stage loading of scripts.
2016-08-19 19:46:26 +03:00
Sandu Liviu Catalin
7ebfe05cb3
Move the creation of null instances after the execution of scripts in order to allow customization of entity types.
2016-08-18 19:52:47 +03:00
Sandu Liviu Catalin
4e039d415a
Create null instances only after the plugin API was registered. Otherwise the server would've crashed at startup.
2016-08-17 13:30:48 +03:00
Sandu Liviu Catalin
5b897f21e8
Adjust the code that creates the null entity instances.
2016-08-07 02:02:50 +03:00
Sandu Liviu Catalin
29b0f8d4c9
Add the possibility to have null entity instances intentionally.
2016-08-07 01:54:33 +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
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
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
7bb0d5f947
Adjust the code to use the .what() method from the Sqrat exception.
2016-07-09 14:18:09 +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
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