Commit Graph
100 Commits
Author SHA1 Message Date
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
Sandu Liviu Catalin 526538fdb9 Add a function to check if a routine with a certain tag exists. 2018-07-29 10:47:31 +03:00
Sandu Liviu Catalin a5999e5b50 Remove player validation where non-valid player IDs are allowed. 2018-07-28 13:28:59 +03:00
Sandu Liviu Catalin 0ebdb909df Avoid exceptions scaping during plugin initialization.
Use sub-logging to show the message from exception.
2018-07-27 22:43:19 +03:00
Sandu Liviu Catalin 4e88cbf79e Fix previous commit. 2018-07-27 19:53:01 +03:00
Sandu Liviu Catalin 83c4e5ba23 Return a null entity instance instead of throwing an error. 2018-07-27 19:50:18 +03:00
Sandu Liviu Catalin 2764028c43 Remove some leftover implicit cast operators. 2018-07-18 23:35:47 +03:00
Sandu Liviu Catalin 29a5c79fc8 Implement an a method in the MySQL connection handle to escape strings of unwanted characters. 2018-07-17 20:46:39 +03:00
Sandu Liviu Catalin 3a5563820d Fix the .FieldsTable property of the mysql ResultSet type which did not create a table but rather initialize a null object. 2018-07-15 21:32:30 +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 bfdb042442 Fix the .String property from the mysql database Field type. 2018-07-15 21:23:12 +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 50dec8d958 Fix the way quiet routines are being identified. Forgot to negate the value. 2018-07-03 23:05:41 +03:00
Sandu Liviu Catalin 35a24e12eb Fix bug in signal implementation which did not update the number of remaining slots after removing some. 2018-07-03 22:31:13 +03:00
Sandu Liviu Catalin 5511a4f690 Expose the fall time-rate manipulation API. 2018-06-28 22:15:38 +03:00
Sandu Liviu Catalin 88b5859213 Expose the vehicle light data modification API. 2018-06-28 22:12:05 +03:00
Sandu Liviu Catalin 877e1a38cc Implement pickup option change event and expose the functions to use it.
Fix bitflags declaration for circular locks (huge mistake here).
2018-06-28 22:06:23 +03:00
Sandu Liviu Catalin 1e24f55e94 Expose the fuction used to request the client loaded modules. 2018-06-28 21:46:06 +03:00
Sandu Liviu Catalin 53b541ca60 Implement the PlayerModuleList event callback. 2018-06-28 21:41:31 +03:00
Sandu Liviu Catalin 6fa7fdfb10 Update the VC:MP SDK header. 2018-06-23 16:17:51 +03:00
Sandu Liviu Catalin d668242901 Implement an unrestricted pool of custom weapon names and fall back to it when looking for weapon names. 2018-04-13 20:31:18 +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 6cd6b9bfdc Minor adjustment to standalone linker flags. 2018-02-06 02:26:00 +02:00
Sandu Liviu Catalin 92b2b57121 Add include directory for MySQL on linux. 2018-02-06 02:12:23 +02:00
Sandu Liviu Catalin 82448a4e21 Adjust for updated name. 2018-02-06 02:08:36 +02:00
Sandu Liviu Catalin 7dc1199d80 Rename header file to avoid case-sensitivity issues on linux. 2018-02-06 02:05:06 +02:00
Sandu Liviu Catalin b97f699e4a Add a fallback in architecture identification. 2018-02-06 01:55:48 +02:00
Sandu Liviu Catalin a344105bb2 Some linux speciffic options to the build system. 2018-02-06 01:42:43 +02:00
Sandu Liviu Catalin eb2e567bf8 Initial commit of a command-line build system based on the classic Makefile. Windows only. 2018-02-06 01:31:07 +02:00
Sandu Liviu Catalin cea5995f52 Update the entity classes to account for the fact that the server ignores the API call completely whenever a null pointer is given for a value that isn't needed.
Add a helper macro to concatenate two macro parameters into one.
2018-01-30 19:09:54 +02:00
Sandu Liviu Catalin 2a5a1821ad The server ignores the API call completely whenever a null pointer is given for a value that isn't needed. Apparently that feature is missing from the API. 2018-01-30 18:05:47 +02:00
Sandu Liviu Catalin ed9998873b Remove leftover include header. 2018-01-28 23:59:02 +02:00
Sandu Liviu Catalin 0bdb1b9135 Update copyright year to 2018. 2018-01-28 23:13:41 +02:00
Sandu Liviu Catalin 52a06cc83b Add a method to the vehicle entity class to check if a certain slot has an occupant. 2018-01-28 22:53:27 +02:00
Sandu Liviu Catalin 0bf9afc553 Allow toggling of error handling for each routine individually ( should close #31 ).
Allow a routine to ignore runtime errors (if requested) and not terminate itself.
2018-01-28 22:45:09 +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 8aec9d5927 Workaround for a sercver issue. Apparently the server returns an error code regardless of what buffer size it was given. 2018-01-24 18:13:25 +02:00
Sandu Liviu Catalin 5d5fc9e2d6 Fix identifier check against wrong pool limits. 2018-01-24 17:59:51 +02:00
Sandu Liviu Catalin 0918b975a5 Implement stoppable iteration algorithms. Should close #29 2017-08-07 00:22:50 +03: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 fccf288b77 Don't use shared static variables when rerieving various properties of entity instances.
Replace various NULL occurrences with nullptr.
2017-08-06 21:15:32 +03:00
Sandu Liviu Catalin ac5cc871de Rename the SpectateNone() function to Unspectate(). 2017-08-06 18:24:42 +03:00
Sandu Liviu Catalin 8125400f7f Return null entity instances instead of null for the functions that need to return an entity instance.
Finally fix the player unspectating bug and introduce a new event for when a player spectates none.
Update the global functions that check for player existance to use the new implementation.
2017-08-06 18:14:58 +03:00
Sandu Liviu Catalin 8e07d37ec2 Improve the player search functions. 2017-08-06 17:01: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 7a469d870d Attempt to fix (or make it easy to be fixed) the spectating crash. 2017-08-06 15:14:45 +03:00
Sandu Liviu Catalin 14d7b8c225 Update the SQLite library. 2017-06-20 23:17:10 +03:00
Sandu Liviu Catalin 9bfb307237 Fix inconsistent function names. 2017-06-20 22:16:35 +03:00
Sandu Liviu Catalin adcbef19d0 Allow areas to define just bounding boxes. Implement a function to add an array of points. Provide several shorter aliases. Remove some leftover commented code. 2017-06-20 22:10:32 +03:00