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

69 Commits

Author SHA1 Message Date
353974528d Update code to comply with changes in the Squirrel API. 2018-10-25 20:08:31 +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
2e8d97f071 Add another stack cleanup utility to the Sqrat library. 2017-08-07 00:21:59 +03:00
5fa97e17d9 Include a guard in the object iteration helper to avoid leaking in case of exception. 2017-06-19 14:24:10 +03:00
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
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
d8c9be59d4 Remove redundant initialization to null in script object iterator. 2017-06-19 13:51:58 +03:00
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
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
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
178b30bb20 Minor adjustments to Sqrat types. Improved shared pointers to use less heap allocations for counters. 2017-02-21 21:19:10 +02:00
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
c541fb3ea9 Implement constructors with formatting support in the Sqrat binding utility. 2016-11-22 16:08:45 +02:00
d359bd5c7b Make StackStrF constant when registering methods with formatting support. 2016-11-22 16:08:11 +02:00
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
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
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
15c824ddae Implement a constructor in the lightweight object type that copies a regular object. 2016-11-17 10:59:19 +02:00
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
32061463c0 Remove duplicate code in Sqrat Var for the the StackStrF type. 2016-11-17 10:50:40 +02:00
92faaccf06 Start from the outer namespace when catching or throwing exceptions in the Sqrat library. 2016-11-17 10:50:03 +02:00
64a2957129 Always receive the StackStrF type as a const reference. 2016-11-16 15:09:37 +02:00
c1fe2b4fc0 Include a default constructor and an explicit compile time string constructor in the StackStrF type. 2016-11-16 13:03:11 +02:00
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
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
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
01852606c8 Implement double when binding constants with Sqrat.
Minor chnage in buffer when throwing an exception.
2016-07-09 22:48:42 +03:00