1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 08:47:17 +01:00
Commit Graph

756 Commits

Author SHA1 Message Date
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
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
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
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
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
1757e8b7c4 Exporn newlly added Squirrel API that is used to improve overloaded methods. 2018-10-31 20:28:18 +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
107ddea5fd Don't use constant StackStrF arguments anymore. 2018-10-23 22:29:06 +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
Xmair
4de4d045f7
Update Weapon.cpp 2018-09-22 11:48:33 +05:00
Rasikh Qadeer | DizzasTeR
1e379ccdf7 Added PlaySoundForWorld 2018-09-08 12:12:57 +05:00
Xmair
cfca96767c
Update Vehicle.cpp 2018-08-25 15:02:46 +05: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
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
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
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
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
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
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
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
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
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
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
Sandu Liviu Catalin
b3cdc101a4 Do not overwrite the core state upon receiving recursive event calls from the server.
And allow the script to implement a similar approach.
2017-06-19 16:10:31 +03:00
Sandu Liviu Catalin
2fb58f9fbf Initial implementation of the area system. 2017-06-19 04:09:35 +03:00
Sandu Liviu Catalin
80ad983089 Fix compiling of bit guards in instance management after the change in entity flags type. 2017-06-18 20:29:55 +03:00
Sandu Liviu Catalin
c2ff6762d3 Fix wrong parameter flags declaration and introduce another flag for the upcomming area system. 2017-06-18 20:27:22 +03:00
Sandu Liviu Catalin
26505a6a09 Make the entity flags value 32bit because alignment will insert padding bytes any way and no performance benefit comes from using 16 bytes. 2017-06-18 20:26:40 +03:00
Sandu Liviu Catalin
297d2f97c2 Fix constructors in comamnd manager registration to actually make use of builtin formatting. 2017-06-18 20:25:49 +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
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
4b1e3909a4 Make some adjustments to previously introduced feature to add names to custom vehicles.
Initial approach would throw an instance of 'std::length_error' on linux.
2017-06-16 22:23:07 +03:00
Sandu Liviu Catalin
135e0e690f Allow the user to store names of custom vehicles up to a certain point. 2017-06-16 02:35:03 +03:00
Sandu Liviu Catalin
957ba97a33 Make it possible for the Buffer wrapper to detect the length of a raw string if the requested length is negative. 2017-06-16 02:24:19 +03:00
Sandu Liviu Catalin
59f64e9532 Make the occupant retrieval more error proof. 2017-05-25 22:15:32 +03:00
Sandu Liviu Catalin
40c16ca5fc Make the AutoDelete helper available to modules. 2017-05-25 22:14:51 +03:00
Sandu Liviu Catalin
3ce06d8cbc Minor adjustments to the code and several bug-fixes. 2017-05-05 20:39:25 +03:00
Sandu Liviu Catalin
9c1cefab37 Possible fix for the spectate player function. Temporary fix. 2017-02-22 20:46:48 +02:00
Sandu Liviu Catalin
2a4f4853ea Uncomment exceptions in the signals and slots creation and retrieval. 2017-02-22 20:41:11 +02:00
Sandu Liviu Catalin
2c60b62671 Update the copyright year. 2017-02-22 18:26:12 +02:00
Sandu Liviu Catalin
1bfb421184 Minor fix in date-time class. 2017-02-22 18:09:02 +02:00
Sandu Liviu Catalin
76759118cc Expose the signals for the loading stages. 2017-02-22 18:08:33 +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
Sandu Liviu Catalin
135484e467 Fix bug in entity initialization which was pushing a null pointer on the stack instead of the actual instance.
Player instance initialization was missing.
2017-02-21 21:57:47 +02:00
Sandu Liviu Catalin
e7bb68d76c Fix the crash at shut down caused by forgetting to release the global events table object.
Include the fixes from the routines that should've been commited into the previous commit.
Take a more exception safe approach to unbinding from server events at shutdown.
2017-02-21 21:42:40 +02:00
Sandu Liviu Catalin
41e04e5167 Initial implementation of the new event system.
Initial implementation of the new signals and slots class.
Fixed command parsing which compared a pointer to a character.
Buffer overflow fix in routines which used the limits from the entity tasks.
Switched from Sqrat::Object to Sqrat::LightObj in most places to avoid the overhead of the VM pointer.
Various other adjustments and improvements.
The plugin is currently in a broken state and crashes at shutdown. The bug is unknown at this point.
2017-02-21 21:24:59 +02:00
Sandu Liviu Catalin
6909e46125 Adjust the main plugin to use the new standard way of registering constants. 2016-11-23 00:58:45 +02:00
Sandu Liviu Catalin
f50a2b40d3 Initial re-write of the routines. 2016-11-17 23:10:31 +02:00
Sandu Liviu Catalin
7ab1084955 Minor changes in tasks. 2016-11-17 23:09:35 +02:00
Sandu Liviu Catalin
659f522efa Clear the tag as well when releasing task resources. 2016-11-17 20:04:32 +02:00
Sandu Liviu Catalin
bf065d4f3a Include the routines and tasks limits into the registered constants. 2016-11-17 20:00:14 +02:00
Sandu Liviu Catalin
2f27188b52 Forgot to decrease the number of occupied slots when removing tasks. And also to reset it when clearing them.
Removed the used tasks counter completely because it's useless and has a high risk of producing nasty bugs.
2016-11-17 19:59:47 +02:00
Sandu Liviu Catalin
23d9caeac3 Adjust some of the string library functions to use the new method of receiving formatted strings. 2016-11-17 17:05:12 +02:00
Sandu Liviu Catalin
1045a6fad2 Implement the FindTask method for entities. 2016-11-17 17:04:21 +02:00
Sandu Liviu Catalin
ff8df39a13 Implement the user tags feature in tasks. 2016-11-17 16:02:00 +02:00
Sandu Liviu Catalin
2449a44c1f Reduce the task parameters to 8.
Remove the Self property from the tasks because it's useless.
2016-11-17 12:59:29 +02:00
Sandu Liviu Catalin
a04fd3ba15 Implemented a mechanism for tasks to alter their properties and/or terminate themselves in the middle of the execution.
Also implemented a few other features such as the ability to have a persistent storage associated with them.
2016-11-17 12:29:58 +02:00
Sandu Liviu Catalin
5b32baa908 Update the task type to use the new allocator and not attempt to destroy a static instance. 2016-11-17 11:47:07 +02:00
Sandu Liviu Catalin
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
Sandu Liviu Catalin
b4b00caba9 Replace the Argument class from the tasks with the new lightweight objects.
Include a forward declaration of the lightweight object in the base header.
2016-11-17 10:57:27 +02:00
Sandu Liviu Catalin
324ee99260 Minor comment fix in Routine class. 2016-11-17 00:24:24 +02:00
Sandu Liviu Catalin
2d07ed67b9 Initial implementation of entity tasks. 2016-11-17 00:23:59 +02:00
Sandu Liviu Catalin
cb9581786e Adjust the Vector3 and Vector4 type functions to use the new method of receiving formatted strings. 2016-11-16 16:20:11 +02:00
Sandu Liviu Catalin
32ce07bdad Adjust the Vector2 and Vector2i type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:54 +02:00
Sandu Liviu Catalin
759318d48e Adjust the Sphere type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:38 +02:00
Sandu Liviu Catalin
6522889492 Adjust the GetColor function to use the new method of receiving formatted strings. 2016-11-16 16:19:29 +02:00
Sandu Liviu Catalin
e7b4462a68 Adjust the Quaternion type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:13 +02:00
Sandu Liviu Catalin
3e35f7c916 Adjust the Color3 and COlor4 type functions to use the new method of receiving formatted strings. 2016-11-16 16:19:02 +02:00
Sandu Liviu Catalin
3ede9645e3 Adjust the Circle type functions to use the new method of receiving formatted strings. 2016-11-16 16:18:45 +02:00
Sandu Liviu Catalin
b9a23d9137 Adjust the AABB type functions to use the new method of receiving formatted strings. 2016-11-16 15:12:19 +02:00
Sandu Liviu Catalin
5f8c2f6cc5 Update all existing code to always receive StackStrF as a const reference. 2016-11-16 15:10:33 +02:00
Sandu Liviu Catalin
cb8b595318 Adjust the Vehicle entity methods to use the new method of receiving formatted strings. 2016-11-16 14:49:12 +02:00
Sandu Liviu Catalin
6373c24bae Adjust the Player entity methods to use the new method of receiving formatted strings. 2016-11-16 14:49:04 +02:00
Sandu Liviu Catalin
9a52981f19 Adjust the Pickup entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:57 +02:00
Sandu Liviu Catalin
3fbba9f3e2 Adjust the Object entity methods to use the new method of receiving formatted strings. 2016-11-16 14:48:48 +02:00