1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-14 03:37:16 +01:00
Commit Graph

50 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
3ce06d8cbc Minor adjustments to the code and several bug-fixes. 2017-05-05 20:39:25 +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
0137dfc66f Move the plugin Squirrel utilities to the Sqrat binding utility.
Implement registration of functions and methods with string formatting support in the Sqrat binding utility.
Few minor other fixes.
2016-11-16 11:54:07 +02:00
Sandu Liviu Catalin
351d44a8e5 Implement a mechanism for generating pure typename functions. 2016-11-15 21:06:41 +02:00
Sandu Liviu Catalin
ded30fdeac Implement move constructor in StackStrF type. 2016-11-14 10:25:31 +02:00
Sandu Liviu Catalin
ad876f6a8f Implement a utility to help with deleting instances even when exceptions are thrown. 2016-10-30 18:25:53 +02: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
d95f3253d4 Move the auto assign helper class to the shared utility header. 2016-08-25 11:54:29 +03:00
Sandu Liviu Catalin
fae1e51c7b Prevent ambiguity errors during compilation caused by the new dispatch system under x64 builds. 2016-08-25 01:01:03 +03:00
Sandu Liviu Catalin
3cf8f7a24a Remove dynamic argument comparison from the shared utility header and reimplement it as a more flexible dynamic dispatching in it's own header. 2016-08-24 22:27:45 +03:00
Sandu Liviu Catalin
adde1e852a Reduce duplicate code from dynamic comparisons and prepare the implementation to be used for other metamethods types. 2016-08-24 19:47:10 +03:00
Sandu Liviu Catalin
d31c77341c Implement a dynamic comparison system. 2016-08-24 18:45:46 +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
d71f76c63b Fix an mistake in the declaration of the negation operator for the Buffer type. 2016-07-10 16:05:56 +03:00
Sandu Liviu Catalin
a89acef503 Initial implementation for the second revision of the SQLite module.
Added a utility function to retrieve a time instance in seconds.
2016-07-10 03:00:33 +03:00
Sandu Liviu Catalin
01852606c8 Implement double when binding constants with Sqrat.
Minor chnage in buffer when throwing an exception.
2016-07-09 22:48:42 +03:00
Sandu Liviu Catalin
f401b265da Don't use the common buffer in the functions that covert date and time instances to string. 2016-07-09 21:33:27 +03:00
Sandu Liviu Catalin
a06efdafc5 Improve the Clamp functions to accept any type of value for all parameters.
Implement common functions to work with date and time types and avoid duplicate code.
Remove unnecessary functions used to retrieve the valie in long integer instances.
Various other fixes and name adjustments.
2016-07-09 21:21:07 +03:00
Sandu Liviu Catalin
bd75ffe305 Fix the functions used to create buffers and extend with new ones to interact with them. 2016-07-09 17:21:41 +03:00
Sandu Liviu Catalin
4e93e58397 Initial revision of the buffer implementation. 2016-07-08 00:56:54 +03:00
Sandu Liviu Catalin
98c50ce7e1 Minor comment fix in the shared utility header. 2016-07-05 23:07:04 +03:00
Sandu Liviu Catalin
87ab54d453 Expand the host plug-in API and not just the Squirrel API.
Extend the host plug-in API with a few more date/time functions.
Update some of the plugins to use the expanded functions of the host plug-in API.
2016-07-04 16:26:39 +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
3a8d4952c1 Avoid sharing the same source file between multiple projects where there's a possibility that with each project object generated by the the source file could have a diffrent code used by other sources from the project.
Which can lead to undefined link time errors (at best) or run-time crashes (at worst).
2016-06-20 16:17:03 +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
166760fd46 Export functions to at least create shared buffers from modules. 2016-06-15 10:01:07 +03:00
Sandu Liviu Catalin
861c830bb7 Improve the constructors in shared buffers implementation. 2016-06-15 10:00:28 +03:00
Sandu Liviu Catalin
85e881effa Fix const correctness in utility functions.
By not taking the object reference as const we are forced to make copies of objects that are const or use const_cast. Eitherway, this is the correct way because objects are not modified.
2016-06-13 00:27:06 +03:00
Sandu Liviu Catalin
f1d8d60e96 Improve the string retrieval from the stack to make use of the new sq_getstringandsize API function and also obtain the size everytime.
Add two new helper functions to retrieve the string representation of a certain script type or object.
2016-06-09 02:05:36 +03:00
Sandu Liviu Catalin
6489dfdf08 Fix the command system which would fail on recursive command execution. 2016-06-08 16:26:55 +03:00
Sandu Liviu Catalin
410a60cfe5 More helper functions to the shared utility. 2016-06-07 03:04:57 +03:00
Sandu Liviu Catalin
221e27e090 Remove implementation of the Decimal time. Not worth the troublem. 2016-06-05 04:28:45 +03:00
Sandu Liviu Catalin
3411f7c64b Export basic interaction with the decimal type. 2016-06-05 04:16:42 +03:00
Sandu Liviu Catalin
d42040c9c0 Merge the Random and Math libraries into the Numeric library and organize code a bit. 2016-06-05 00:00:59 +03:00
Sandu Liviu Catalin
cce6beb4d5 Fix the exported API for the Chrono library to use unsigned integers. 2016-06-04 23:10:35 +03:00
Sandu Liviu Catalin
2aa7e8b7c2 Furher implementation and improvement of the Chrono types and also exposed them to the module API.
Tighten the safety of exported functions to avoid exceptions leaking outside the host plugin.
2016-06-04 22:33:34 +03:00
Sandu Liviu Catalin
125088c9e3 Implement several helper functions to create long integer instances. 2016-06-03 22:16:14 +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
248b062110 Fix mdoule builds on x64 to conform to the changes in the plugin sdk. 2016-05-24 05:45:01 +03:00
Sandu Liviu Catalin
6822172f6a Updated the Squirrel and Sqrat libraries to the latest development versions. 2016-05-22 22:51:59 +03:00
Sandu Liviu Catalin
40a2ba46f5 Various changes to the modules.
Also commited the remaining incomplete modules.
2016-05-22 22:34:27 +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
570b938d7c Use modern include style in shared module header. 2016-04-02 12:32:16 +03:00
Sandu Liviu Catalin
6c0c09287e Fix null "‘NULL’ was not declared in this scope" error on linux for module API. 2016-03-27 20:49:57 +03:00
Sandu Liviu Catalin
933f96fbc5 Add the exception throwing macros to the base module header as well. 2016-03-22 16:54:40 +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
c8a5593263 Moved several forward declarations to the base module header. 2016-02-28 17:37:55 +02:00
Sandu Liviu Catalin
53834fe1d9 Remove the old SqThrow function from the module API. 2016-02-28 16:21:09 +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