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

299 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
4e1b3cd369 Add type-tag retrieval to object wrappers. 2021-01-30 20:08:54 +02:00
Sandu Liviu Catalin
bb991181de Further optimize instance retrieval.
More risky changes but the current constraints should allow it.
2021-01-30 19:59:34 +02:00
Sandu Liviu Catalin
b0bbb05631 Initial implementation of constant-time type-info.
Since I gave up on the possibility of multiple VMs. It allows me to take a risky optimization and avoid unnecessary table lookups.
2021-01-30 19:43:18 +02:00
Sandu Liviu Catalin
ae51c454cc Update sqratArray.h
Use recently the new squirrel API function.
2021-01-30 19:40:29 +02:00
Sandu Liviu Catalin
444b0120ea Update sqratLightObj.h
In place construction.
2021-01-30 19:39:56 +02:00
Sandu Liviu Catalin
4a6bfc086c Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface.
Deprecated the external module API. It was creating more problems than solving.
Removed most built-in libraries in favor of system libraries for easier maintenance.
Cleaned and secured code with help from static analyzers.
2021-01-30 08:51:39 +02:00
Sandu Liviu Catalin
e0e34b4030 Update Logger.cpp 2021-01-29 00:20:18 +02:00
Sandu Liviu Catalin
b6a270293b Get rid of the memory manager from buffer. 2021-01-29 00:20:09 +02:00
Sandu Liviu Catalin
9efcfe2fa9 Discard unwanted libraries from discord integration attempt. 2021-01-28 13:17:06 +02:00
Sandu Liviu Catalin
da39892bb0 Revert allignment back. 2021-01-28 05:25:51 +02:00
Sandu Liviu Catalin
611c1bf951 Remove packing attribute injected by IDE. 2021-01-28 05:24:21 +02:00
Sandu Liviu Catalin
ac162b0c14 Update CURL.hpp 2021-01-28 05:19:19 +02:00
Sandu Liviu Catalin
62c9597e92 Fix some alignment/padding issues in CPR. 2021-01-28 05:19:13 +02:00
Sandu Liviu Catalin
7f36aae9f9 Initial implementation of a CURL extension.
TODO: async/mt
2021-01-28 05:00:03 +02:00
Sandu Liviu Catalin
4a75da930b Modify CPR library to be able to access member variables for some types. 2021-01-28 04:59:14 +02:00
Sandu Liviu Catalin
cc6778d245 Modify discord library to be able to customize request session. 2021-01-28 04:58:28 +02:00
Sandu Liviu Catalin
0605e98723 Update Logger.cpp
Leftover debug message.
2021-01-28 04:52:20 +02:00
Sandu Liviu Catalin
95705e87c8 Initial preparations for CURL and Discord integration. 2021-01-27 07:27:48 +02:00
Sandu Liviu Catalin
8257eb61d6 Update SQLite to version 3.34.1 2021-01-27 06:16:06 +02:00
Sandu Liviu Catalin
339ce480a6 Fixe structure size and remove leftover header. 2021-01-17 14:04:11 +02:00
Sandu Liviu Catalin
9579fcfe64 Mark the script as executed before invoking the callbacks. 2021-01-17 11:22:53 +02:00
Sandu Liviu Catalin
efe0748d67 Fix SetPositionZ in entities. Z axis would be used as both X and Z instead of just Z. Probably resulting in weird behavior. 2020-12-21 12:20:30 +02:00
Sandu Liviu Catalin
79f02998d5 MySQL library 8.x removed my_bool type. 2020-12-10 19:13:23 +02:00
Sandu Liviu Catalin
7b93498558 Fix message logging to use actual string pointer. 2020-09-08 23:16:57 +03:00
Sandu Liviu Catalin
d6f3f52eec Rewrite logger to account for multiple-threads.
Implement error handling for worker VMs.
2020-09-08 22:44:04 +03:00
Sandu Liviu Catalin
054a7983a5 Sync console output during prototyping. 2020-09-06 23:55:15 +03:00
Sandu Liviu Catalin
425fd46bcf Update Job.hpp 2020-09-06 23:54:48 +03:00
Sandu Liviu Catalin
78c2003797 Add a logging option for unformatted strings. 2020-09-06 23:54:44 +03:00
Sandu Liviu Catalin
67f514c77c Add a helper funtion to generate formated string. 2020-09-06 23:54:28 +03:00
Sandu Liviu Catalin
50a61c69e6 Use polymorphism to deliver jobs. 2020-09-06 23:09:54 +03:00
Sandu Liviu Catalin
38b874f444 Separate worker and parameter to their own sources. 2020-09-06 21:45:32 +03:00
Sandu Liviu Catalin
31af9efe94 Separate jobs from workers. 2020-09-06 21:35:04 +03:00
Sandu Liviu Catalin
97fe1101e3 Do not hammer the CPU if there are no jobs. 2020-09-06 21:30:44 +03:00
Sandu Liviu Catalin
cc69b15190 Manage to get a working hello world. 2020-09-06 20:22:43 +03:00
Sandu Liviu Catalin
be0e5bd6d2 Worker basic prototype implementation. 2020-09-06 20:12:55 +03:00
Sandu Liviu Catalin
e7c708d997 Update VecMap.hpp
Some checks failed
continuous-integration/drone Build is failing
2020-09-06 20:11:56 +03:00
Sandu Liviu Catalin
6fa2ccb129 Remove mujs. 2020-09-06 20:11:53 +03:00
Sandu Liviu Catalin
4490ac5b68 Update Signal.cpp 2020-09-06 16:14:39 +03:00
Sandu Liviu Catalin
35d93e16dc Update VecMap.hpp 2020-09-06 05:03:37 +03:00
Sandu Liviu Catalin
b3a56eac12 Update VecMap.hpp
Lowercase method names.
2020-09-06 04:27:17 +03:00
Sandu Liviu Catalin
7d9110ddbd Add a vecmap container. 2020-09-06 04:13:46 +03:00
Sandu Liviu Catalin
36dcd44b3c Add the fmt library. 2020-09-05 00:02:20 +03:00
Sandu Liviu Catalin
5782b598e5 Create the worker lib.
Just an empty file. Placeholder for a future prototype.
2020-09-04 23:59:02 +03:00
Sandu Liviu Catalin
f0779f57cb Discard previous approach.
Left incomplete untill further notice.
2020-09-04 23:52:52 +03:00
Sandu Liviu Catalin
076da5fe02 Update CMakeLists.txt 2020-09-04 23:52:05 +03:00
Sandu Liviu Catalin
cce275ed61 Add mujs library. 2020-09-04 23:51:57 +03:00
Sandu Liviu Catalin
ae5698a53d Add concurent queue library. 2020-09-04 23:51:14 +03:00
Sandu Liviu Catalin
0aee307376 Add potential library. 2020-09-04 23:50:12 +03:00
Sandu Liviu Catalin
a0077443d7 Update Shared.hpp 2020-09-04 18:54:53 +03:00
Sandu Liviu Catalin
6fa8e85189 Remove the need to specify a VM after new changes. 2020-09-04 18:52:09 +03:00
Sandu Liviu Catalin
b5c8121b7d Allow choosing between uppercase or lowercase hex conversion.
Lowercase by default.
2020-09-03 21:05:38 +03:00
Sandu Liviu Catalin
7ec5544948 Implement hex conversion to color types. 2020-09-03 20:52:46 +03:00
Sandu Liviu Catalin
455c401c2c Update Utility.cpp 2020-09-03 20:33:58 +03:00
Sandu Liviu Catalin
b18d0a129a Implement formatting on math types.
Just a helper method to help you generate strings from math types more easilly. A bit risky if you're dumb and don't know how format specifiers work in C because it provides direct access to those.
2020-09-03 20:33:51 +03:00
Sandu Liviu Catalin
db6cf1cdde Don't make the temporary buffer static.
It is pointless.
2020-09-03 18:26:24 +03:00
Sandu Liviu Catalin
25fb30140c Update Path.cpp 2020-08-30 18:57:13 +03:00
Sandu Liviu Catalin
5114dcbffb Update Register.cpp
Remove leftover imports.
2020-08-30 18:52:53 +03:00
Sandu Liviu Catalin
5eabcab3a5 Experimenting with LTO. 2020-08-19 16:49:45 +03:00
Sandu Liviu Catalin
4e5aa5a292 Fix built-in runtimes.
Avoid having to share mingw runtimes with the binary by embedding them in the binary via static linking.
2020-08-19 15:33:41 +03:00
Sandu Liviu Catalin
0356f7d5ce Update SQLite library. 2020-08-19 15:24:29 +03:00
Sandu Liviu Catalin
39a6780d5c Update Environment.cpp 2020-08-16 22:30:25 +03:00
Sandu Liviu Catalin
5cf1f2cd41 Update Path.hpp 2020-08-16 19:18:43 +03:00
Sandu Liviu Catalin
a00ff9bf20 Update my_config.h 2020-08-16 19:18:38 +03:00
Sandu Liviu Catalin
47f71625d8 Restructure the whole plugin development kit. 2020-05-28 20:59:29 +03:00
Sandu Liviu Catalin
98fda61a77 Update Random.cpp 2020-05-19 17:18:05 +03:00
Sandu Liviu Catalin
f795981dd9 Further fixes of unreleased objects. 2020-05-11 17:51:39 +03:00
Sandu Liviu Catalin
59e4b9ad7c Release all script objects from command listeners. 2020-05-11 17:24:36 +03:00
Sandu Liviu Catalin
508d968744 Concept [WIP]
Privilege management.
2020-05-10 13:01:01 +03:00
Sandu Liviu Catalin
018a2de97b Some changes on user options. 2020-05-10 12:56:23 +03:00
Sandu Liviu Catalin
a318070f8b Add sample external plugin. 2020-05-08 23:16:48 +03:00
Sandu Liviu Catalin
3510a21311 String to int/float with specific base. 2020-05-08 18:25:05 +03:00
DizzasTeR
72fbbae765 Fix CreateRadioStream declaration 2020-05-06 22:07:14 +05:00
Sandu Liviu Catalin
4ace42466d Don't error-check radio stream creation.
Not even worth it anymore.
2020-05-06 18:44:58 +03:00
Sandu Liviu Catalin
0662b9cf99 Use auto instead of explicit iterator type. 2020-05-06 01:20:39 +03:00
Sandu Liviu Catalin
378b1bf001 Fix routines once and forever.
By simply preventing reuse of slots that have been terminated during their execution.
2020-05-06 01:20:17 +03:00
Sandu Liviu Catalin
ad8641e7d3 Fix initialization of null entities.
Few other minor changes.
2020-05-04 18:50:33 +03:00
Sandu Liviu Catalin
e2bc14cd9e Include default value for default constructor. 2020-05-04 11:59:40 +03:00
Sandu Liviu Catalin
4c1030c76e Implement simple distance tracking for player and vehicle entities.
Doesn't differentiate from in-air and on-ground.
Just sums up the distance from last position on each position update.
2020-05-04 11:58:30 +03:00
Sandu Liviu Catalin
f2be86a65e Allow API selection as a cmake option. 2020-05-01 20:41:00 +03:00
Sandu Liviu Catalin
4a53ec8676 Prevent issues with routine slot recycling.
Prevent possible memory leak on object creation exceptions.
Other miscellaneous changes.
2020-05-01 01:24:06 +03:00
Sandu Liviu Catalin
3e7adb8fea What is dead may never live. 2020-04-30 23:27:24 +03:00
Sandu Liviu Catalin
1edc1930a3 Prevent silent failure uppon loading scripts that don't exist. 2020-04-30 22:28:01 +03:00
Sandu Liviu Catalin
88ef01e5e8 Fix maxminddb redefinition of strcasecmp. 2020-04-30 21:37:44 +03:00
Sandu Liviu Catalin
69e8a9377c Allow for debug builds with debug information. 2020-04-30 21:34:10 +03:00
Sandu Liviu Catalin
ae2b1dc778 Avoid implicit construction of object wrappers. 2020-04-30 21:03:15 +03:00
Sandu Liviu Catalin
185c51ef8f Fix algorithms. 2020-04-30 20:03:24 +03:00
Sandu Liviu Catalin
e7e266314e Miscellaneous. 2020-04-28 00:04:24 +03:00
Sandu Liviu Catalin
02dc14f26a Fix maxminddb call to CreateFile. 2020-04-27 15:38:09 +03:00
Sandu Liviu Catalin
82f183599f Actually expose the MySQL api. 2020-04-27 15:02:10 +03:00
Sandu Liviu Catalin
b86c4cea2b Refactor. 2020-04-27 13:53:16 +03:00
Sandu Liviu Catalin
22a17fe3c4 Code cleanup.
Get rid of ReleaseGently.
2020-04-27 13:10:54 +03:00
Sandu Liviu Catalin
48005a98f0 Return something. 2020-04-27 11:42:21 +03:00
Sandu Liviu Catalin
42a0d2ed62 Remove unnecessary macro. 2020-04-27 11:18:22 +03:00
Sandu Liviu Catalin
7bcaba518e Include dependency before using it. 2020-04-27 11:17:37 +03:00
Sandu Liviu Catalin
e2e671a13a Use modern header includes. 2020-04-27 11:08:32 +03:00
Sandu Liviu Catalin
df7c5f8266 USe pragma once. 2020-04-27 11:06:51 +03:00
Sandu Liviu Catalin
94ef17c26f Update CMakeLists.txt 2020-04-27 10:59:05 +03:00
Sandu Liviu Catalin
935ae53855 Avoid generic names. 2020-04-27 10:56:22 +03:00
Sandu Liviu Catalin
b0e7c305b6 Automatic OS identification. 2020-04-27 10:37:39 +03:00
Sandu Liviu Catalin
a6ce7811ba Use standard types and headers. 2020-04-27 10:25:29 +03:00
Sandu Liviu Catalin
1e82d7b747 Use updated win32 identification. 2020-04-27 10:17:08 +03:00
Sandu Liviu Catalin
6accac3bb1 Fix: remove leftover code. 2020-04-21 06:07:47 +03:00
Sandu Liviu Catalin
65f7852c21 Minor changes and additions. 2020-04-21 06:06:27 +03:00
Sandu Liviu Catalin
9af90e80db Don't pre-reserve null values in the array. 2020-04-20 16:07:42 +03:00
Sandu Liviu Catalin
2f31a9495a Allow circles to be transformed to area points. 2020-04-20 16:00:47 +03:00
Sandu Liviu Catalin
405c2920e7 Backport fix. 2020-04-20 04:54:46 +03:00
Sandu Liviu Catalin
5393b62892 Initial implementation of basic TCP/UDP sockets. 2020-04-20 04:46:05 +03:00
Sandu Liviu Catalin
8a927419c2 Return the length of the written string.
Since they can be dynamically generated through a formatted string.
2020-04-20 03:48:49 +03:00
Sandu Liviu Catalin
1f2f580a67 Rename Read/WriteString to Read/WriteClientString.
The buffer is being moved to a more general purpose type of buffer. And a rename was in order to avoid confusion with client-encoded strings.
2020-04-20 02:28:35 +03:00
Sandu Liviu Catalin
738e90fc29 Rename function. 2020-04-17 20:34:27 +03:00
Sandu Liviu Catalin
977b20d9f0 Expose the function to emit custom global events. 2020-04-17 20:33:57 +03:00
Sandu Liviu Catalin
e13d1a91e7 Replace GetObject with GetObj to avoid collisions on Windows.
ef you MS
2020-04-17 17:42:09 +03:00
Sandu Liviu Catalin
1242b8a2fc Copy the binary to plugins folder after compiling. 2020-04-17 17:21:36 +03:00
Sandu Liviu Catalin
9e68216136 Actually register the maxmind-db library in the vm. 2020-04-17 16:57:52 +03:00
Sandu Liviu Catalin
040a7dd7e2 Miscellaneous changes. 2020-04-17 15:25:58 +03:00
Sandu Liviu Catalin
f0b00fb07f Fix GetWorldBounds() and GetWastedSettings() returning null.
By not giving a virtual machine to the table contructor it defaults to null. Which ignores subsequent values getting assigned and esentially returning null.
2020-04-13 14:01:15 +03:00
Sandu Liviu Catalin
4bf1443260 Preallocate mysql account options table. 2020-04-13 13:57:42 +03:00
Sandu Liviu Catalin
48c72e3cfb Indentation fix for previous commit. 2020-04-10 10:23:44 +03:00
Sandu Liviu Catalin
15532298dc Implement field selection in the MySQL library. 2020-04-10 10:12:05 +03:00
Sandu Liviu Catalin
a7f8584661 Allow routines to have configurable error reporting that is individual from global setting.
Potential fix for error handling that was being used in a way that had the opposite intended effect.
2020-04-10 08:30:22 +03:00
Sandu Liviu Catalin
19a245f3b1
Rename the signal class.
Avoid using the `Impl` suffix in names. It looks awkward in documentation.
2020-04-07 13:37:57 +03:00
Sandu Liviu Catalin
7030628f77 Rename function to avoid potential confusion.
`Active` may be confused with routines that aren't in a `Paused` state.
2020-04-03 00:29:17 +03:00
Sandu Liviu Catalin
831f25a323 Routine count.
Routine instance rename.
2020-04-03 00:26:17 +03:00
Sandu Liviu Catalin
7e1a3ded06 Don't include MySQL sources when disabled. 2020-03-22 21:02:02 +02:00
Dryback
2fc5c34f56 Get MySQL to work on Linux. 2020-03-22 14:53:52 -04:00
Sandu Liviu Catalin
b08e9a2f3a Make MySQL optional.
Only windows for now.
2020-03-22 18:57:00 +02:00
Sandu Liviu Catalin
d79922d725 Try another way because that doesn't work everywhere. 2020-03-22 18:46:38 +02:00
Sandu Liviu Catalin
8f57220b0f Enable C99 for libmaxminddb. 2020-03-22 18:43:32 +02:00
Sandu Liviu Catalin
0d21b92bb0 Get rid of interface libraries to keep cmake requirements low. 2020-03-22 18:38:30 +02:00
Sandu Liviu Catalin
3b7568f13a Integrate MaxmindDB module. 2020-03-22 16:33:48 +02:00
Sandu Liviu Catalin
e46c1b0aa9 Merge MySQL Library int one file. 2020-03-22 15:06:35 +02:00
Sandu Liviu Catalin
2ee661ee65 Integrate MySQL module. 2020-03-22 14:54:40 +02:00
Sandu Liviu Catalin
0d254ed90b Minor cleanup. 2020-03-22 12:33:20 +02:00
Sandu Liviu Catalin
453eff0037 Code cleanup. 2020-03-22 10:31:43 +02:00
Sandu Liviu Catalin
33f057ac15 More code cleanup. 2020-03-22 10:00:31 +02:00
Sandu Liviu Catalin
3080c20341 More code cleanup. 2020-03-22 09:16:40 +02:00
Sandu Liviu Catalin
615f3a4d46 More code cleanup. 2020-03-22 07:13:06 +02:00
Sandu Liviu Catalin
a557805090 Code cleanup. Most of it via linting. 2020-03-22 06:53:04 +02:00
Sandu Liviu Catalin
e92f99c55e Fix rename issues from XML library. 2020-03-22 03:15:49 +02:00
Sandu Liviu Catalin
ced5c64e17 Rename SQLite types to prevent future collisions. 2020-03-22 03:12:55 +02:00
Sandu Liviu Catalin
05990afedf Cleanup SQLite code. 2020-03-22 03:03:05 +02:00
Sandu Liviu Catalin
8ea13de743 Merge SQLite library into a single file. 2020-03-22 02:44:33 +02:00
Sandu Liviu Catalin
91c0f2ec02 Cleanup XML library code. 2020-03-22 02:22:32 +02:00
Sandu Liviu Catalin
c9de01e8a3 Merge XML library into a single file. 2020-03-22 01:50:40 +02:00
Sandu Liviu Catalin
505a165d23 Use pragma once instead of macro guards. 2020-03-22 01:45:04 +02:00
Sandu Liviu Catalin
39d6af7687 Integrate XML module.
Integrate the XML module into the host plugin and get it to compile.
2020-03-22 01:33:11 +02:00
Sandu Liviu Catalin
de3f365522 Integrate SQLite module.
Integrate the SQLite module into the host plugin and get it to compile.
2020-03-22 00:35:03 +02:00
Sandu Liviu Catalin
5a7034a049 Add new vendor libraries. Fix old names. 2020-03-21 23:12:14 +02:00
Sandu Liviu Catalin
c0fd374404 Rename source to module. 2020-03-21 23:02:27 +02:00