1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2026-05-28 13:37:09 +02:00
Commit Graph

119 Commits

Author SHA1 Message Date
Sandu Liviu Catalin 086eeae7b4 Improve performance in overloaded methods calls by cheating a little and calling the overload directly instead of pushing the parameters back on the stack and performing a regular function call. 2018-10-26 21:56:06 +03:00
Sandu Liviu Catalin 5c859fb5aa Implement new Squirrel API functions to get a native closure pointer and an alternative function to pop the closure before pushing the free variable. 2018-10-26 21:51:48 +03:00
Sandu Liviu Catalin 69bc0ba5c2 Don't guess the string size when that information is already available. 2018-10-26 18:54:04 +03:00
Sandu Liviu Catalin e6b80a40d2 Use variadic templates to get rid of duplicate code in the class binding utility. 2018-10-26 18:50:03 +03:00
Sandu Liviu Catalin 353974528d Update code to comply with changes in the Squirrel API. 2018-10-25 20:08:31 +03:00
Sandu Liviu Catalin 7cdca09d50 Backported latest fixes and improvements from the Squirrel repository. 2018-10-25 20:04:52 +03:00
Sandu Liviu Catalin 2b9c8f6550 Fix StackStrF mistaking the free function variable containing the native function wrapper pointer as a user passed parameter.
Also fix StackStrF treating negative indexes as positive indexes.
Make ErrorToException inline instead of static in header.
2018-10-25 19:43:38 +03:00
Sandu Liviu Catalin d556364ecf Attempt to fix function binding to comply with changes to StackStrF.
Various other changes to fix other issues related to changes in StackStrF behavior.
2018-10-24 21:37:51 +03:00
Sandu Liviu Catalin 58acfb9857 Make a few midifications to StackStrF. 2018-10-23 22:28:09 +03:00
Sandu Liviu Catalin 112d4828bb Update StackStrF to initialize without a default VM. 2018-10-23 22:16:54 +03:00
Sandu Liviu Catalin 464821592c Remove traces of noexcept from the binding library. This would've impaired the exception handling required by the binding system and cause a program termination for even the slightest error that occured from the script. 2018-10-23 21:29:28 +03:00
Sandu Liviu Catalin 52611bdb80 Furher changes to the script function wrapper. 2018-08-02 18:33:52 +03:00
Sandu Liviu Catalin 4c111d4139 Simplify the script function wrapper. 2018-07-31 17:41:46 +03:00
Sandu Liviu Catalin e48cb3b43c Fix previous refactor which caused functions with format support to not fallback to dummy values when StackStrF tail arguments were not specified. 2018-07-30 23:00:45 +03:00
Sandu Liviu Catalin 0deb209e7b Refactor the binding library even further to reduce code size and complexity. 2018-07-30 21:44:04 +03:00
Sandu Liviu Catalin ecca09d6ce Allow null parameters in StackStrF. 2018-07-30 20:40:52 +03:00
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