1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-06-22 01:57:14 +02:00
Commit Graph

133 Commits

Author SHA1 Message Date
bb73f0a8b5 Fix overload name generator not taking into accoun the prefix length.
Include a specialized overload forwarder for constructors which don't have a free variable containing the native function pointer.
Reduce code duplication from overload forwarder retriever with variadic templates (might as well just get rid of it in the future since it doesn't appear to do much).
2019-02-17 17:09:32 +02:00
745ef8f82b Credit. 2019-02-09 19:52:21 +02:00
7934b65de9 Don't compute string length twice. 2019-02-09 19:49:04 +02:00
d0c8dc3071 Potential fix for missing itoa compile error. 2019-02-09 17:43:27 +02:00
0f0b795ca9 Various minor changes and fixes that were not pushed to the repository. Just random stuff. 2019-01-29 18:44:55 +02:00
0e96cc73a9 Don't create a variable out of ArgFwd since it's an empty structure used purely for ease of use in specialisations. 2018-10-31 20:20:09 +02:00
649f04a48c Use variatic templates to simplify NoCopy allocator. 2018-10-31 20:14:19 +02:00
3394839542 Use standard type trait instead of legacy solution. 2018-10-31 20:11:15 +02:00
b6d157311b Use variatic templates to simplify DefaultAllocator. 2018-10-31 20:08:31 +02:00
f3f4fce80b Get rid of explicit format enabled constructors since they're detected automatically. 2018-10-31 20:07:46 +02:00
bf9b8e9f5d Allow argument forwarder to return a value. 2018-10-31 20:07:06 +02:00
f4c8f42852 Include C headers regardless of character encoding selection. 2018-10-31 17:34:56 +02:00
25bc3ce02c Remove string stream header. Remove unused variable. 2018-10-31 17:34:23 +02:00
82c1154c2b Fix wrapper for overloaded methods that are expected to return a value. 2018-10-28 17:59:41 +02:00
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
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
69bc0ba5c2 Don't guess the string size when that information is already available. 2018-10-26 18:54:04 +03:00
e6b80a40d2 Use variadic templates to get rid of duplicate code in the class binding utility. 2018-10-26 18:50:03 +03:00
353974528d Update code to comply with changes in the Squirrel API. 2018-10-25 20:08:31 +03:00
7cdca09d50 Backported latest fixes and improvements from the Squirrel repository. 2018-10-25 20:04:52 +03:00
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
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
58acfb9857 Make a few midifications to StackStrF. 2018-10-23 22:28:09 +03:00
112d4828bb Update StackStrF to initialize without a default VM. 2018-10-23 22:16:54 +03:00
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
52611bdb80 Furher changes to the script function wrapper. 2018-08-02 18:33:52 +03:00
4c111d4139 Simplify the script function wrapper. 2018-07-31 17:41:46 +03:00
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
0deb209e7b Refactor the binding library even further to reduce code size and complexity. 2018-07-30 21:44:04 +03:00
ecca09d6ce Allow null parameters in StackStrF. 2018-07-30 20:40:52 +03:00
4e31fc478c Multiple fixes for last refactoring. 2018-07-30 01:51:02 +03:00
89734ae1b2 Update sqrat allocator to comply with changes to StackStrF. 2018-07-30 01:07:33 +03:00
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
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
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
a63398913b Fix parameter count check. 2018-07-29 19:32:19 +03:00
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
5744eb81d9 Implement ArgPop helper to reduce code duplication when forwarding calls from script to native functions. 2018-07-29 19:27:38 +03:00
71419ffd99 Fix comments on StackStrF helper. 2018-07-29 19:26:09 +03:00
5146dce440 Replace retrieval of function parameter count with a variadic template implementation to reduce code size. 2018-07-29 14:41:23 +03:00
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
2dcd9ee986 Use a standard implementation to check for type conversion. 2018-07-29 14:35:51 +03:00
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
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
6fa7fdfb10 Update the VC:MP SDK header. 2018-06-23 16:17:51 +03:00
999cec8d9d Update the SQLite library to the latest version available (3.23.1). 2018-04-13 20:27:21 +03:00
ed9998873b Remove leftover include header. 2018-01-28 23:59:02 +02:00
d568ddf341 Update the SQLite library to the latest version. 2018-01-24 18:15:12 +02:00
2e8d97f071 Add another stack cleanup utility to the Sqrat library. 2017-08-07 00:21:59 +03:00
643ef360f9 Update the SQLite library to the latest version (3.20.0) 2017-08-06 15:33:16 +03:00