1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-06-15 06:37:13 +02:00
Commit Graph

48 Commits

Author SHA1 Message Date
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
351d44a8e5 Implement a mechanism for generating pure typename functions. 2016-11-15 21:06:41 +02:00
ded30fdeac Implement move constructor in StackStrF type. 2016-11-14 10:25:31 +02:00
ad876f6a8f Implement a utility to help with deleting instances even when exceptions are thrown. 2016-10-30 18:25:53 +02:00
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
d95f3253d4 Move the auto assign helper class to the shared utility header. 2016-08-25 11:54:29 +03:00
fae1e51c7b Prevent ambiguity errors during compilation caused by the new dispatch system under x64 builds. 2016-08-25 01:01:03 +03:00
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
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
d31c77341c Implement a dynamic comparison system. 2016-08-24 18:45:46 +03:00
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
d71f76c63b Fix an mistake in the declaration of the negation operator for the Buffer type. 2016-07-10 16:05:56 +03:00
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
01852606c8 Implement double when binding constants with Sqrat.
Minor chnage in buffer when throwing an exception.
2016-07-09 22:48:42 +03:00
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
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
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
4e93e58397 Initial revision of the buffer implementation. 2016-07-08 00:56:54 +03:00
98c50ce7e1 Minor comment fix in the shared utility header. 2016-07-05 23:07:04 +03:00
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
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
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
8846cb9351 Initial revision of the script loading system to be more flexible and accurate. 2016-06-18 20:31:35 +03:00
166760fd46 Export functions to at least create shared buffers from modules. 2016-06-15 10:01:07 +03:00
861c830bb7 Improve the constructors in shared buffers implementation. 2016-06-15 10:00:28 +03:00
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
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
6489dfdf08 Fix the command system which would fail on recursive command execution. 2016-06-08 16:26:55 +03:00
410a60cfe5 More helper functions to the shared utility. 2016-06-07 03:04:57 +03:00
221e27e090 Remove implementation of the Decimal time. Not worth the troublem. 2016-06-05 04:28:45 +03:00
3411f7c64b Export basic interaction with the decimal type. 2016-06-05 04:16:42 +03:00
d42040c9c0 Merge the Random and Math libraries into the Numeric library and organize code a bit. 2016-06-05 00:00:59 +03:00
cce6beb4d5 Fix the exported API for the Chrono library to use unsigned integers. 2016-06-04 23:10:35 +03:00
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
125088c9e3 Implement several helper functions to create long integer instances. 2016-06-03 22:16:14 +03:00
0c92601362 Update the module API and merge shared code between modules and host plugin. 2016-06-03 21:26:19 +03:00
248b062110 Fix mdoule builds on x64 to conform to the changes in the plugin sdk. 2016-05-24 05:45:01 +03:00
6822172f6a Updated the Squirrel and Sqrat libraries to the latest development versions. 2016-05-22 22:51:59 +03:00
40a2ba46f5 Various changes to the modules.
Also commited the remaining incomplete modules.
2016-05-22 22:34:27 +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
570b938d7c Use modern include style in shared module header. 2016-04-02 12:32:16 +03:00
6c0c09287e Fix null "‘NULL’ was not declared in this scope" error on linux for module API. 2016-03-27 20:49:57 +03:00
933f96fbc5 Add the exception throwing macros to the base module header as well. 2016-03-22 16:54:40 +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
c8a5593263 Moved several forward declarations to the base module header. 2016-02-28 17:37:55 +02:00
53834fe1d9 Remove the old SqThrow function from the module API. 2016-02-28 16:21:09 +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