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