Sandu Liviu Catalin
4e31fc478c
Multiple fixes for last refactoring.
2018-07-30 01:51:02 +03:00
Sandu Liviu Catalin
89734ae1b2
Update sqrat allocator to comply with changes to StackStrF.
2018-07-30 01:07:33 +03:00
Sandu Liviu Catalin
f300e7ff4a
Massive code reduction in the binding utility by using variadic templates.
...
Extensive code refactoring surrounding the StackStrF helper to facilitate the new changes.
Various other miscellaneous changes and code refactoring to facilitate the new changes.
2018-07-30 00:58:27 +03:00
Sandu Liviu Catalin
199e9ac502
Significantly reduce the amount of code required to forward calls from scripts to global native functions with format support by using variadic templates.
2018-07-29 20:25:11 +03:00
Sandu Liviu Catalin
c70f3bfcf2
Update the ArgPop helper to allow sending extra parameters to the last argument.
...
Fix how StackStrF is handled by Var helper.
2018-07-29 20:24:23 +03:00
Sandu Liviu Catalin
a63398913b
Fix parameter count check.
2018-07-29 19:32:19 +03:00
Sandu Liviu Catalin
fb39d5a300
Significantly reduce the amount of code required to forward calls from scripts to global native functions by using variadic templates.
2018-07-29 19:28:46 +03:00
Sandu Liviu Catalin
5744eb81d9
Implement ArgPop helper to reduce code duplication when forwarding calls from script to native functions.
2018-07-29 19:27:38 +03:00
Sandu Liviu Catalin
71419ffd99
Fix comments on StackStrF helper.
2018-07-29 19:26:09 +03:00
Sandu Liviu Catalin
5146dce440
Replace retrieval of function parameter count with a variadic template implementation to reduce code size.
2018-07-29 14:41:23 +03:00
Sandu Liviu Catalin
7ed5183d45
Replace template specialisation used to execute a script function with variadic templates in order to reduce code size.
2018-07-29 14:36:52 +03:00
Sandu Liviu Catalin
2dcd9ee986
Use a standard implementation to check for type conversion.
2018-07-29 14:35:51 +03:00
Sandu Liviu Catalin
13d5a3af3f
Introduce a new constructor into the sqrat Table wrapper which can create a table with an initial capacity.
2018-07-15 21:31:44 +03:00
Sandu Liviu Catalin
f51b4968ac
Fix bug in plugin caused by not popping the closure from the stack after calling it.
...
This would've caused the plugin to run out of stack memory eventually.
2018-07-05 21:01:08 +03:00
Sandu Liviu Catalin
6fa7fdfb10
Update the VC:MP SDK header.
2018-06-23 16:17:51 +03:00
Sandu Liviu Catalin
999cec8d9d
Update the SQLite library to the latest version available (3.23.1).
2018-04-13 20:27:21 +03:00
Sandu Liviu Catalin
ed9998873b
Remove leftover include header.
2018-01-28 23:59:02 +02:00
Sandu Liviu Catalin
d568ddf341
Update the SQLite library to the latest version.
2018-01-24 18:15:12 +02:00
Sandu Liviu Catalin
2e8d97f071
Add another stack cleanup utility to the Sqrat library.
2017-08-07 00:21:59 +03:00
Sandu Liviu Catalin
643ef360f9
Update the SQLite library to the latest version (3.20.0)
2017-08-06 15:33:16 +03:00
Sandu Liviu Catalin
14d7b8c225
Update the SQLite library.
2017-06-20 23:17:10 +03:00
Sandu Liviu Catalin
5fa97e17d9
Include a guard in the object iteration helper to avoid leaking in case of exception.
2017-06-19 14:24:10 +03:00
Sandu Liviu Catalin
641fa973e0
Add a helper function to iterate over the elements in a script object more efficiently and easier.
2017-06-19 14:06:35 +03:00
Sandu Liviu Catalin
c17a54b907
Add a helper function to append multiple elements into a script array more efficiently and easier.
2017-06-19 14:06:01 +03:00
Sandu Liviu Catalin
d8c9be59d4
Remove redundant initialization to null in script object iterator.
2017-06-19 13:51:58 +03:00
Sandu Liviu Catalin
7bb44ec008
Make builtin formatted strings default to false to avoid trying to perform a format in cases where it can be folled by a following parameters that are not meant to be part of that formatted string.
2017-06-18 20:25:12 +03:00
Sandu Liviu Catalin
bb7a6881c6
Make sure that the free variable containing the pointer of the registered native closures is taken into account when registering functions with formatting support that take no extra parameters other than the formatting string and trailing variable arguments.
2017-06-17 22:41:03 +03:00
Sandu Liviu Catalin
f86f3c8433
Add a quick and simple implementation of base64 encryption and Whirpool hashing algorithm.
2017-06-16 23:31:20 +03:00
Sandu Liviu Catalin
b642e233a7
Update the MaxmindDB library to the latest version.
2017-05-25 22:56:09 +03:00
Sandu Liviu Catalin
70e13a77aa
Update the SQLite library to the latest version.
2017-05-25 22:29:29 +03:00
Sandu Liviu Catalin
5f4b175005
Update the SQLite library.
2017-05-05 20:38:43 +03:00
Sandu Liviu Catalin
fd5116034b
Update the PUGIXML library to the latest version.
2017-02-22 18:23:42 +02:00
Sandu Liviu Catalin
9e60aaab4a
Update the SQLite library to the latest version.
2017-02-22 18:23:14 +02:00
Sandu Liviu Catalin
c5b509dcb3
Avoid creating multiple objects for the same string when event parameters contain strings.
...
Include a helper fonstructor in the light object type for quick string object creation.
2017-02-21 22:17:25 +02:00
Sandu Liviu Catalin
178b30bb20
Minor adjustments to Sqrat types. Improved shared pointers to use less heap allocations for counters.
2017-02-21 21:19:10 +02:00
Sandu Liviu Catalin
4287498600
Standardize helper structures to simplify the registration of constants and also to reduce compilation times and executable size.
2016-11-23 00:57:55 +02:00
Sandu Liviu Catalin
c541fb3ea9
Implement constructors with formatting support in the Sqrat binding utility.
2016-11-22 16:08:45 +02:00
Sandu Liviu Catalin
d359bd5c7b
Make StackStrF constant when registering methods with formatting support.
2016-11-22 16:08:11 +02:00
Sandu Liviu Catalin
2e0b7b6c7f
Fix an issue in StackStrF type which would not perform the format with just one parameter.
2016-11-17 16:01:30 +02:00
Sandu Liviu Catalin
41f2971b7c
Implement an allocator for types that cannot be constructed by script and must not be destructed by script.
...
For cases where the actual instance is static and might outlive the VM itself.
2016-11-17 11:46:36 +02:00
Sandu Liviu Catalin
641e51e03c
Rename the lightweight object type.
...
Few adjustments to the tasks to overcome the limitation of removing themselves. Currently broken because they require a special Sqrat allocator.
2016-11-17 11:27:07 +02:00
Sandu Liviu Catalin
15c824ddae
Implement a constructor in the lightweight object type that copies a regular object.
2016-11-17 10:59:19 +02:00
Sandu Liviu Catalin
faf07319f9
Implement lightweight objects in the Sqrat binding utility that only store the object reference and don't use any firtual functions.
...
Also make a a few adjustments to the regular Object constructor.
2016-11-17 10:52:14 +02:00
Sandu Liviu Catalin
32061463c0
Remove duplicate code in Sqrat Var for the the StackStrF type.
2016-11-17 10:50:40 +02:00
Sandu Liviu Catalin
92faaccf06
Start from the outer namespace when catching or throwing exceptions in the Sqrat library.
2016-11-17 10:50:03 +02:00
Sandu Liviu Catalin
64a2957129
Always receive the StackStrF type as a const reference.
2016-11-16 15:09:37 +02:00
Sandu Liviu Catalin
c1fe2b4fc0
Include a default constructor and an explicit compile time string constructor in the StackStrF type.
2016-11-16 13:03:11 +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
2ef75d0dce
Update the MaxmindDB library to latest version. Also include configs for all platforms.
2016-11-14 14:05:29 +02:00
Sandu Liviu Catalin
8239aef551
Updated the SQLite library to the latest version.
2016-10-31 18:29:09 +02:00
Sandu Liviu Catalin
e8eff997a0
Updated PUGIXML.
2016-10-31 18:28:38 +02:00
Sandu Liviu Catalin
80612c4146
Update the SQLite library to the latest version.
2016-10-09 23:41:59 +03:00
Sandu Liviu Catalin
5d4f920007
Implement another constructor for Sqrat's Object type to grab an object reference right from the stack.
2016-09-11 20:10:29 +03:00
Sandu Liviu Catalin
e770ac3405
Implement methods to send messages with style formatting in the IRC module. Should close #7
...
Also remove duplicate code in raw squirrel functions by merging it into one function.
2016-08-16 21:38:04 +03:00
Sandu Liviu Catalin
e0cd48e639
Updated the Squirrel library to include the latest changes straight from the repository.
2016-08-03 16:39:37 +03:00
Sandu Liviu Catalin
a373682cee
Adjust the smart pointers in the Sqrat library.
...
Do not overwrite command listener options inc constructor.
Few other minor changes.
2016-07-12 02:43:29 +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
e5f9fffd8e
Adjust the Sqrat exception class to look more like the standard std::exception.
2016-07-08 00:55:51 +03:00
Sandu Liviu Catalin
7fbc37fa4b
Don't duplicate the configuration header files of the JSON library because they're the same across compiled platforms.
2016-07-05 23:08:32 +03:00
Sandu Liviu Catalin
e93319a381
Implement implicit or explicit conversions to boolean for Sqrat weak pointers.
2016-07-03 03:21:29 +03:00
Sandu Liviu Catalin
54531071c7
Add a method to the INI library to allow processing section keys through a custom functor.
2016-06-18 20:30:48 +03:00
Sandu Liviu Catalin
22dc3a03ed
Add the SQLite library back to the project.
2016-06-16 00:03:17 +03:00
Sandu Liviu Catalin
a1d2a620b5
Remove the SQLite library from the project.
2016-06-16 00:02:28 +03:00
Sandu Liviu Catalin
a81b950952
Don't separate C++11 code from legacy code through macros. Make C++11 the default C++ version required.
2016-06-12 13:49:43 +03:00
Sandu Liviu Catalin
0240d192e9
Implement move semantics on the Sqrat function wrapper.
2016-06-12 13:43:29 +03:00
Sandu Liviu Catalin
3ca90d0698
Implement move semantics on the Sqrat table wrapper.
2016-06-12 13:43:19 +03:00
Sandu Liviu Catalin
4eaf365bee
Implement move semantics on the Sqrat array wrapper.
2016-06-12 13:31:28 +03:00
Sandu Liviu Catalin
f71a1aa667
Implement move semantics on the Sqrat object wrapper.
2016-06-12 13:31:21 +03:00
Sandu Liviu Catalin
67d6f54426
Minor optimizations in Sqrat when retrieving script strings.
2016-06-12 13:02:04 +03:00
Sandu Liviu Catalin
d96a6dff0b
Minor optimization when retrieving the last error.
2016-06-12 13:01:43 +03:00
Sandu Liviu Catalin
579bd4d76b
Implement move semantics for Sqrat smart pointers.
2016-06-12 13:01:04 +03:00
Sandu Liviu Catalin
a3169ad7d2
Partial implementation of the JSON module.
2016-06-09 03:01:19 +03:00
Sandu Liviu Catalin
94fb58cc5d
Fix compile time error in implicit conversion to boolean from previosu commit.
2016-06-08 21:10:31 +03:00
Sandu Liviu Catalin
cf00eaa1b4
Implicit conversion to boolean of smart Sqrat pointers so they can be used in conditional expressions.
2016-06-08 16:57:48 +03:00
Sandu Liviu Catalin
7ee5fe2f0c
Remove the {fmt} library from the project. Too many compilation issues with it.
2016-05-25 22:47:55 +03:00
Sandu Liviu Catalin
82c3fa4439
Update the {fmt} library to fix the colision with C string.h header.
2016-05-23 22:42:49 +03:00
Sandu Liviu Catalin
49a9983799
Update the format library to the latest version.
2016-05-22 23:37:55 +03:00
Sandu Liviu Catalin
6e99f0d2d5
Update the SQLite libarary to the latest version.
2016-05-22 23:34:43 +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
c8161fe9d0
Add the cppformat library to the project.
2016-04-20 09:21:56 +03:00
Sandu Liviu Catalin
a35643ae6e
Update squirrel to the latest version from the official repository.
...
Include the standard library that was filtered out by a mistake in the gitignore file.
2016-03-22 02:32:03 +02:00
Sandu Liviu Catalin
46466930fb
Fixed const correctness in Sqrat array.
2016-03-18 12:55:32 +02:00
Sandu Liviu Catalin
d58099461a
Updated the plug-in sdk header to work on recent servers.
2016-03-11 23:17:23 +02:00
Sandu Liviu Catalin
f27a195b6f
Fixed the INI compilation on Linux by reverting to the original library.
...
Fixed an infinite loop in the parsing of command specification strings.
Added the option to retrieve common configs with a fall back value if they don't exist.
Few other minor changes.
2016-03-11 20:04:26 +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
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
bedf03c9cd
Implemented the IRC library.
...
Fixed a bug in the Routine system that caused crashes when constructed with only the first three arguments because it wasn't attached.
Implemented a gentle release of functions to not release them if the reference count is 1.
Adjusted the Routine and Command system to not be necessary to include them in the module core.
Moved the INI and XML libraries into their own namespace.
Various other modifications and fixes.
2016-02-23 05:23:56 +02:00
Sandu Liviu Catalin
c7eb4e967d
Included the pugixml source into the project.
2016-02-22 09:28:34 +02:00
Sandu Liviu Catalin
06e598acfb
Dumped the old implementation. Started with a more simple approach.
2016-02-21 00:25:00 +02:00
Sandu Liviu Catalin
878a35eb2a
Modified IRC Session events to receive the Session instance as first argument. Remeved leftover file and minor change in IDE sandbox project.
2015-11-04 20:58:05 +02:00
Sandu Liviu Catalin
7f51bd098c
Added a few missing RFC numbers from in IRC library.
2015-11-01 18:38:05 +02:00
Sandu Liviu Catalin
76b8adddbe
Added external vcmp sdk.
2015-11-01 10:11:17 +02:00
Sandu Liviu Catalin
9c7a1f641d
Added external pugixml library.
2015-11-01 10:10:49 +02:00
Sandu Liviu Catalin
84ec27285a
Added external RapidJSON library.
2015-11-01 10:09:30 +02:00
Sandu Liviu Catalin
9ba8e9b664
Added external SimpleINI library.
2015-11-01 10:08:00 +02:00
Sandu Liviu Catalin
053a4af900
Added external SQLite library.
2015-11-01 10:07:31 +02:00
Sandu Liviu Catalin
08f7f396c9
Added external Sqrat library.
2015-11-01 10:06:54 +02:00