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

332 Commits

Author SHA1 Message Date
Sandu Liviu Catalin
187761b137 Reduce CMake requirements. 2021-02-01 01:02:00 +02:00
Sandu Liviu Catalin
d7078551c6 Update SqBase.hpp 2021-02-01 00:46:22 +02:00
Sandu Liviu Catalin
746da6f2d9 Update SqBase.hpp 2021-02-01 00:45:37 +02:00
Sandu Liviu Catalin
602f82b26e Update Math.cpp 2021-02-01 00:39:24 +02:00
Sandu Liviu Catalin
533b058e58 Update SqBase.hpp 2021-02-01 00:34:59 +02:00
Sandu Liviu Catalin
ef5f1b07c6 Don't use fixed types. 2021-02-01 00:33:12 +02:00
Sandu Liviu Catalin
a12ba35d53 Update sqratConst.h 2021-02-01 00:26:22 +02:00
Sandu Liviu Catalin
a09948770f Update Script.cpp 2021-02-01 00:22:28 +02:00
Sandu Liviu Catalin
07d215c428 Update Random.cpp 2021-01-31 23:36:43 +02:00
Sandu Liviu Catalin
9843e97802 Add UNICODE checks. 2021-01-31 23:21:29 +02:00
Sandu Liviu Catalin
3c33af7640 Use direct integer type names instead of fixed size types. 2021-01-31 23:18:28 +02:00
Sandu Liviu Catalin
b04a71dd24 Add checksum generation. 2021-01-31 22:40:38 +02:00
Sandu Liviu Catalin
fdc1d9d993 Add base 32/64 encode/decode. 2021-01-31 22:21:42 +02:00
Sandu Liviu Catalin
fe27504972 Implement a hashing function. 2021-01-31 21:50:10 +02:00
Sandu Liviu Catalin
2a5dbb1c0d Update dependency for distribution on windows. 2021-01-31 20:56:41 +02:00
Sandu Liviu Catalin
2f67eae859 Complete Poco Data support.
Most of the necessary things are exported.
More complex functionality is not exposed because is not necessary for the scope of this project.
2021-01-31 20:39:02 +02:00
Sandu Liviu Catalin
e043e28529 Add helper option to copy dependencies to a deps folder. 2021-01-31 19:36:23 +02:00
Sandu Liviu Catalin
6aa5b504dd Show more debuggable information. 2021-01-31 18:49:12 +02:00
Sandu Liviu Catalin
dcf35782d1 Catch more exception types. 2021-01-31 18:48:49 +02:00
Sandu Liviu Catalin
fd2a1de107 Backport MaxmindDB. 2021-01-31 18:48:31 +02:00
Sandu Liviu Catalin
ea751be7b1 Implement extraction and remaining data bindings. 2021-01-31 17:32:52 +02:00
Sandu Liviu Catalin
f53b5b348d Use Poco SharedPtr to maintain compatibility with it. 2021-01-31 17:32:16 +02:00
Sandu Liviu Catalin
12ac87d8fd Update sqratLightObj.h 2021-01-31 17:31:49 +02:00
Sandu Liviu Catalin
9dab72a2a7 Improve debug message and value gen. 2021-01-31 14:55:49 +02:00
Sandu Liviu Catalin
13f5808442 Rename methods for consistency. 2021-01-31 14:23:33 +02:00
Sandu Liviu Catalin
4838850051 Don't return for void methods. 2021-01-31 14:13:11 +02:00
Sandu Liviu Catalin
0670a8dadf Improve vector container.
Add basic map container.
2021-01-31 14:09:37 +02:00
Sandu Liviu Catalin
1829668015 Update Data.cpp 2021-01-31 14:09:10 +02:00
Sandu Liviu Catalin
4ca062d439 Take functor by copy. 2021-01-31 14:09:01 +02:00
Sandu Liviu Catalin
a5b83ddf9e Make move constructor noexcept. 2021-01-31 14:08:48 +02:00
Sandu Liviu Catalin
be557939a9 Preliminary Poco::Data bindings. 2021-01-31 00:16:10 +02:00
Sandu Liviu Catalin
08ae539e74 Broaden the range of handled exceptions. 2021-01-31 00:14:56 +02:00
Sandu Liviu Catalin
d7ce51d8bb Make it generic. 2021-01-30 20:10:09 +02:00
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