Commit Graph
100 Commits
Author SHA1 Message Date
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
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 5fa97e17d9 Include a guard in the object iteration helper to avoid leaking in case of exception. 2017-06-19 14:24:10 +03:00
Sandu Liviu Catalin 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
Sandu Liviu Catalin 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
Sandu Liviu Catalin d8c9be59d4 Remove redundant initialization to null in script object iterator. 2017-06-19 13:51:58 +03:00
Sandu Liviu Catalin 2fb58f9fbf Initial implementation of the area system. 2017-06-19 04:09:35 +03:00
Sandu Liviu Catalin 6504f196bb Fix compile error in SQLite connection after changing to builtin formatted functions. 2017-06-18 20:32:03 +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 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
Sandu Liviu Catalin 30fd6b274b Enable autocommit by default in mysql connections. To avoid further confusions. 2017-06-17 22:08:59 +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 f048950d20 Implement a formatted Squirrel error throwing utility. 2017-06-16 02:23:24 +03:00
Sandu Liviu Catalin e8027dcb3d Release the null lightweight object references as well. 2017-06-16 02:22:48 +03:00
Sandu Liviu Catalin b642e233a7 Update the MaxmindDB library to the latest version. 2017-05-25 22:56:09 +03:00
Sandu Liviu Catalin 3e950acb35 Remove the Mongose library from the project for now. 2017-05-25 22:30:23 +03:00
Sandu Liviu Catalin 70e13a77aa Update the SQLite library to the latest version. 2017-05-25 22:29:29 +03:00
Sandu Liviu Catalin 033150b4f1 Update squirrel to the latest version straight from the official repository. 2017-05-25 22:27:33 +03:00
Sandu Liviu Catalin cdfc3f58bc Remove incomplete Mongoose module. 2017-05-25 22:16:52 +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 df5eedfced Put the cursor at the begining of the buffer when retrieving an SQLite blob. 2017-05-25 22:14:28 +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 5f4b175005 Update the SQLite library. 2017-05-05 20:38:43 +03:00
Sandu Liviu Catalin fde47ba107 Fix query string validation in SQLite statement handle. 2017-03-05 12:58:42 +02: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 e6fc637452 Update the hello world script to work with the new changes. 2017-02-22 18:32:32 +02:00
Sandu Liviu Catalin 2c60b62671 Update the copyright year. 2017-02-22 18:26:12 +02:00
Sandu Liviu Catalin fd5116034b Update the PUGIXML library to the latest version. 2017-02-22 18:23:42 +02:00
Sandu Liviu Catalin 9e60aaab4a Update the SQLite library to the latest version. 2017-02-22 18:23:14 +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 178b30bb20 Minor adjustments to Sqrat types. Improved shared pointers to use less heap allocations for counters. 2017-02-21 21:19:10 +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 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
Sandu Liviu Catalin 873438d8e0 Implement the pure typename meta-methods in SQLite module types using the standard method. 2016-11-22 16:16:32 +02:00
Sandu Liviu Catalin 568bc385e9 Adjust the SQLite module to use the new method of receiving formatted strings.
Several minor bugfixes and improvements came with this migration as well.
2016-11-22 16:11:05 +02:00
Sandu Liviu Catalin c541fb3ea9 Implement constructors with formatting support in the Sqrat binding utility. 2016-11-22 16:08:45 +02:00
Sandu Liviu Catalin d359bd5c7b Make StackStrF constant when registering methods with formatting support. 2016-11-22 16:08:11 +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 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
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 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
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 15c824ddae Implement a constructor in the lightweight object type that copies a regular object. 2016-11-17 10:59:19 +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 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
Sandu Liviu Catalin 32061463c0 Remove duplicate code in Sqrat Var for the the StackStrF type. 2016-11-17 10:50:40 +02:00
Sandu Liviu Catalin 92faaccf06 Start from the outer namespace when catching or throwing exceptions in the Sqrat library. 2016-11-17 10:50:03 +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