Commit Graph
100 Commits
Author SHA1 Message Date
Sandu Liviu Catalin 113d74e868 Enhance the routine implementation further by allowing it to be used as the environment itself and include a few extra helpers to avoid extra checks and lookups. 2019-07-26 19:59:34 +03:00
Sandu Liviu Catalin d3e6adea14 Export entity limits as constants. 2019-06-16 03:35:17 +03:00
Sandu Liviu Catalin 6919e38866 Use the column to point the location.
Use the received column to point the locatio of the error in the line of code included as debug information.
2019-06-16 03:22:53 +03:00
Sandu Liviu Catalin 806bb2ba9d Fix script loading.
Forgot to go back to the beginning of the file after reading the header. Bug was introduced in recent changes.
2019-06-16 03:02:04 +03:00
Sandu Liviu Catalin 061110914a Include code line in runtime debug.
Include the line of code where the error occured into the debug message. Further adjustments to the oeverall implementation.
2019-06-16 02:51:16 +03:00
Sandu Liviu Catalin acea3db378 Move line retrieval into the script wrapper.
Might be used elsewhere.
2019-06-16 02:20:18 +03:00
Sandu Liviu Catalin d6a3937107 Include code line in debug.
Includes the line of code that causes a syntax error. Few other minor fixes.
2019-06-16 02:12:51 +03:00
Sandu Liviu Catalin b1d214b196 Fix format argument.
Error handler would not include file column because the argument could not be recognized.
2019-06-15 23:20:43 +03:00
Sandu Liviu Catalin 14b73d1d20 Block all callbacks at shutdown event.
The server still invokes some callbacks even after shutdown. This prevents it from doing that by removing all callback pointers from the callback structure. Yet another nasty workaround.
2019-06-02 19:00:02 +03:00
Sandu Liviu Catalin 3d9001c31b Fix entity creation issue with stream event.
This is just a nasty workaround because the entity is reported as streaming before it create function returns an ID and the plugin knows about it. Thus, trying to access an entity that doesn't yet exist.
2019-06-02 18:58:38 +03:00
Sandu Liviu Catalin 4e916988de Remove stream event from keybind.
Dunno how that got there.
2019-06-02 18:36:02 +03:00
Sandu Liviu Catalin 819567410b Fix plugin event traceback name.
Script loaded was marked as reload event. Quite the awkward 30 minutes till i figured it out.
2019-06-02 18:24:33 +03:00
Sandu Liviu Catalin 4f3c4dac48 Update the server initialize traceback.
Place the closing traceback before the success or failure message.
2019-06-02 18:19:39 +03:00
Sandu Liviu Catalin 3c37417acc Further updates to plugin command traceback.
Use upper case hex. surround command string in single quotes to helpt track empty strings.
2019-06-02 18:16:56 +03:00
Sandu Liviu Catalin 2c500a4f35 Update traceback in plugin command.
Use hex output for identifier. Avoid unused parameters warning when traceback is disabled.
2019-06-02 18:15:04 +03:00
Sandu Liviu Catalin 4159272965 Disable traceback in performance report event.
This too is quite useless and annoying for now.
2019-06-02 18:13:04 +03:00
Sandu Liviu Catalin fc18a3c6af Disable traceback for frame event completely.
I forgot to disable the traceback for the server callback.
2019-06-02 18:02:17 +03:00
Sandu Liviu Catalin 6e6baf9b2b Disable traceback on frame event.
This causes a ton of spam which makes the whole thing quite useless. Somehow I forgot about it.
2019-06-02 17:59:30 +03:00
Sandu Liviu Catalin 37e793c1ea Cast enumeration to fundamental type.
Just to make printf fomat happy.
2019-06-02 17:48:19 +03:00
Sandu Liviu Catalin 9c1c09eaad Dummy plugin event traceback.
Implements a simple traceback for plugin events. Should allow for easier debugging.
2019-06-02 17:43:04 +03:00
Sandu Liviu Catalin b3ab60a6c7 Format validation.
Include format validation in log messages by using GCC's format attribute.
2019-06-02 17:12:17 +03:00
Sandu Liviu Catalin faf0aea78e Include semicolon in macro.
Otherwise we'd have to leave empty statements throughout the code when traceback is disabled.
2019-06-02 15:41:25 +03:00
Sandu Liviu Catalin 7efe523843 Dummy event server traceback.
Include dummy logs before and after server events to track their order and progress for easier. Current implementation is quite simple and doesn't take into account nesting.
2019-06-02 15:11:48 +03:00
Sandu Liviu Catalin 81fbc5cf5f Add includes to project file. 2019-06-02 14:38:17 +03:00
Sandu Liviu Catalin 670c960b2e Handle new entities in pool changes.
Even if they're not handled, they're at least recognized so that they don't fall to the default case and throw an exception.
2019-06-02 13:57:08 +03:00
Sandu Liviu Catalin 7fdcf7efc0 Implement new API changes.
Initial implementation of entity streaming events, 3D arrows, drunk effects., camera interpolation, entity options and whatnot. Not yet tested!
2019-06-02 00:39:06 +03:00
Sandu Liviu Catalin 0b0ec9c40c Allow chaining in routines.
Simplifies setup after creation by allowing chaining in methods.
2019-06-01 22:49:24 +03:00
Sandu Liviu Catalin ef0fc103cd Supress some fall through warnings in GCC with markers. Later to be updated to attributes and include support for more compilers. 2019-05-24 22:17:24 +03:00
Sandu Liviu Catalin 68e00bce02 Add a secondary seed function that fills the entire seed size. Even on x64 windows. Where long is 32 bit. 2019-05-21 21:14:19 +03:00
Sandu Liviu Catalin d52507e824 Improve the debug information provided by the logger. Include value, size, type and other useful information where possible. 2019-05-17 22:54:08 +03:00
Sandu Liviu Catalin 7ad3790f8c Always name native functions to help debugging with a more clear traceback. 2019-05-17 21:35:17 +03:00
Sandu Liviu Catalin b1c8ab0f7b Fix names in vehicle enumeration to proper case. 2019-05-08 22:07:25 +03:00
Sandu Liviu Catalin c116b487b0 Fix spelling mistake. 2019-05-08 19:44:14 +03:00
Sandu Liviu Catalin 79f244b1d3 Missed return for SQMOD_VEHICLE_PIZZABOY in vehicle identification (reported by @Xmair). 2019-05-07 17:49:13 +03:00
Sandu Liviu Catalin b54dd0a0b9 Implement logging callbacks to allow sharing of output with other mediums. 2019-05-01 18:00:24 +03:00
Sandu Liviu Catalin 05159b5558 Do a better job of extracting the error sting from the thrown object. 2019-05-01 16:04:29 +03:00
Sandu Liviu Catalin 159f491ad2 Remove nonexistent files from project. 2019-04-30 22:32:40 +03:00
Sandu Liviu Catalin 24e6379f5e Export newly added Squirrel functions. Fix function definition with different name than declaration. 2019-04-30 22:28:23 +03:00
Sandu Liviu Catalin 11f756ba20 Update SQLite library to version 3.28.0. 2019-04-30 22:08:54 +03:00
Sandu Liviu Catalin 1f27146e6c Back port changes to squirrel library. Separate mdoule speciffic changes and/or additions to squirrel into their own files. 2019-04-24 22:33:42 +03:00
Sandu Liviu Catalin 21a00e20b7 Allow PushVars to work when there are no parameters as well. 2019-03-03 13:38:24 +02:00
Sandu Liviu Catalin 600c21d45f Discard instances of constant StackStrF parameters. This should always be non-const if possible. 2019-02-17 17:23:59 +02:00
Sandu Liviu Catalin baee2d5c33 Update the constructor binding to take into account new changes made to the overload binding for constructors. 2019-02-17 17:10:42 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 3ef97727b6 Fix missing endif in makefile. 2019-02-09 20:51:21 +02:00
Sandu Liviu Catalin 745ef8f82b Credit. 2019-02-09 19:52:21 +02:00
Sandu Liviu Catalin 7934b65de9 Don't compute string length twice. 2019-02-09 19:49:04 +02:00
Sandu Liviu Catalin d0c8dc3071 Potential fix for missing itoa compile error. 2019-02-09 17:43:27 +02:00
Sandu Liviu Catalin 0f0b795ca9 Various minor changes and fixes that were not pushed to the repository. Just random stuff. 2019-01-29 18:44:55 +02:00
Sandu Liviu Catalin c516c53bd3 Remove explicit format enabled constructors from the SQLite module. 2018-10-31 20:30:26 +02:00
Sandu Liviu Catalin 1757e8b7c4 Exporn newlly added Squirrel API that is used to improve overloaded methods. 2018-10-31 20:28:18 +02:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 649f04a48c Use variatic templates to simplify NoCopy allocator. 2018-10-31 20:14:19 +02:00
Sandu Liviu Catalin 3394839542 Use standard type trait instead of legacy solution. 2018-10-31 20:11:15 +02:00
Sandu Liviu Catalin b6d157311b Use variatic templates to simplify DefaultAllocator. 2018-10-31 20:08:31 +02:00
Sandu Liviu Catalin f3f4fce80b Get rid of explicit format enabled constructors since they're detected automatically. 2018-10-31 20:07:46 +02:00
Sandu Liviu Catalin bf9b8e9f5d Allow argument forwarder to return a value. 2018-10-31 20:07:06 +02:00
Sandu Liviu Catalin f4c8f42852 Include C headers regardless of character encoding selection. 2018-10-31 17:34:56 +02:00
Sandu Liviu Catalin 25bc3ce02c Remove string stream header. Remove unused variable. 2018-10-31 17:34:23 +02:00
Sandu Liviu Catalin 82c1154c2b Fix wrapper for overloaded methods that are expected to return a value. 2018-10-28 17:59:41 +02:00
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 67b7f44748 Don't postfix everything. Just the binary output. 2018-10-25 20:34:16 +03:00
Sandu Liviu Catalin b985c683e1 Postfix debug builds directories to separate them from release builds. 2018-10-25 20:31:39 +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 107ddea5fd Don't use constant StackStrF arguments anymore. 2018-10-23 22:29:06 +03:00
Sandu Liviu Catalin 5ef96b943b Allow a dummy StackStrF reference to be retrieved. 2018-10-23 22:28:34 +03:00
Sandu Liviu Catalin 58acfb9857 Make a few midifications to StackStrF. 2018-10-23 22:28:09 +03:00
Sandu Liviu Catalin 02377fbd46 Fix the command manager to use the new lazy read StackStrF implementation. 2018-10-23 22:17:47 +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 b685d4bf0c Merge branch 'master' of https://github.com/iSLC/VCMP-SqMod 2018-10-23 21:29:58 +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 a75f87b77c Update the MaxmindDB module to comply with the new StackStrF changes. 2018-07-30 01:10:35 +03:00
Sandu Liviu Catalin 53564d6136 Update the MySQL module to comply with the new StackStrF changes. 2018-07-30 01:10:26 +03:00
Sandu Liviu Catalin 7a630cb6bf Update the SQLite module to comply with the new StackStrF changes. 2018-07-30 01:08:13 +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 d39c08fe71 Update the IRC module to comply with the new StackStrF changes. 2018-07-30 01:03:28 +03:00
Sandu Liviu Catalin 3f8e95fabc Update the base module utility to comply with the new StackStrF changes. 2018-07-30 01:03:10 +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 0ad290ca34 Restructure some files. 2018-07-29 12:25:44 +03:00