Sandu Liviu Catalin
3a8d4952c1
Avoid sharing the same source file between multiple projects where there's a possibility that with each project object generated by the the source file could have a diffrent code used by other sources from the project.
...
Which can lead to undefined link time errors (at best) or run-time crashes (at worst).
2016-06-20 16:17:03 +03:00
Sandu Liviu Catalin
ad55025bc8
Specialize the buffer creation functions.
2016-06-20 14:52:05 +03:00
Sandu Liviu Catalin
c2ac1f3fd8
Add a small check to prevent forwarding event if we failed to create the buffer instance.
2016-06-20 14:30:48 +03:00
Sandu Liviu Catalin
5f983cdacf
Fix the keybind creation process which was using the incorrect keybind identifier.
2016-06-20 09:02:13 +03:00
Sandu Liviu Catalin
8591efbcce
Update the blip pool size to the correct value.
2016-06-20 08:55:04 +03:00
Sandu Liviu Catalin
933522f2a4
Add a method to the player class that plays a sound which follows the player character.
2016-06-20 08:27:39 +03:00
Sandu Liviu Catalin
e6213d0932
Fix the player alpha modification.
2016-06-20 08:08:33 +03:00
Sandu Liviu Catalin
5d0a38cbd9
Fix the keybind creation by obtaining a keybind slot automatically if one was not specified.
2016-06-20 08:02:30 +03:00
Sandu Liviu Catalin
dae66ca39f
Export the function that must be used to obtain unused keybind slots.
2016-06-20 08:01:59 +03:00
Sandu Liviu Catalin
c5c3af4f5e
Avoid compile errors from implicit cast to int by making the type explicit.
2016-06-19 19:38:24 +03:00
Sandu Liviu Catalin
6ec8ca620f
Update the player mesage broadcasting to also be more flexible and dynamic when detecting the message color.
...
Move the shared code that identifies the message color outside the player class source file.
2016-06-19 19:06:24 +03:00
Sandu Liviu Catalin
f26ab29a14
Improve the player messaging functions to be more flexible and dynamic when detecting the message color.
2016-06-19 18:39:12 +03:00
Sandu Liviu Catalin
59968893f5
Update the sample config to indicate that log file name supports strftime format.
2016-06-19 15:25:16 +03:00
Sandu Liviu Catalin
89bbb74d06
Export the remaining functions for controlling the logger.
2016-06-19 15:24:25 +03:00
Sandu Liviu Catalin
c431734311
Keep a consistent naming style in constants.
2016-06-19 11:07:35 +03:00
Sandu Liviu Catalin
3ebe127c2c
Move message broadcasting into their own source file for better code structuring
...
Move message broadcasting into their own table to avoid polluting the global scope.
2016-06-19 09:32:16 +03:00
Sandu Liviu Catalin
431198378d
Implement functions to broadcast messages to all players.
2016-06-19 08:13:38 +03:00
Sandu Liviu Catalin
4dc36b9889
Update player messaging to support alpha/transparency in the specified color.
2016-06-19 08:13:02 +03:00
Sandu Liviu Catalin
07c7ebb8d1
Update the sample config to comply with the revised script loading system.
2016-06-18 20:33:56 +03:00
Sandu Liviu Catalin
8846cb9351
Initial revision of the script loading system to be more flexible and accurate.
2016-06-18 20:31:35 +03:00
Sandu Liviu Catalin
54531071c7
Add a method to the INI library to allow processing section keys through a custom functor.
2016-06-18 20:30:48 +03:00
Sandu Liviu Catalin
b59710ddeb
Prepare the script container for the revised script loading system.
2016-06-18 20:29:28 +03:00
Sandu Liviu Catalin
c8d5200dc0
Add a helper funtion to the system path library to obtain the full path of a file.
2016-06-18 20:27:51 +03:00
Sandu Liviu Catalin
fe70560234
Add a helper function to obtain the last system error as a string and throw it.
2016-06-18 20:27:23 +03:00
Sandu Liviu Catalin
4be562c926
Update the script loading system to load and compile all scripts first and then execute them.
2016-06-18 13:09:08 +03:00
Sandu Liviu Catalin
d1ae2fd7e8
Fix the 64bit build on windows by making sure the _WIN32_WINNT macro has the proper value to include GetTickCount64() and also default to regular GetTickCount() on 32bit as the 64bit placeholder.
2016-06-18 10:24:41 +03:00
Sandu Liviu Catalin
099c388b00
Fix the paths in the sandbox project.
2016-06-18 10:22:13 +03:00
Sandu Liviu Catalin
e07809cb25
Initialize the handle during SQLite connection if one does not exist.
2016-06-17 07:21:04 +03:00
Sandu Liviu Catalin
24eddb8051
Minor spelling mistakes in core class.
2016-06-17 06:48:13 +03:00
Sandu Liviu Catalin
6a31e9ee58
Allow the option to toggle debugging from configuration file.
2016-06-17 03:33:58 +03:00
Sandu Liviu Catalin
c76acc07dc
Use the new script loading system to be able to hold script information for future debugging implementations.
...
Fixes issue with scripts being sorted rather then being executed in the load order.
2016-06-17 03:28:37 +03:00
Sandu Liviu Catalin
2242ac9394
Make constructor public in script container.
...
Throw exception if trying to create script container with invalid VM.
2016-06-17 03:26:29 +03:00
Sandu Liviu Catalin
2b6fdcd855
Implement utility to hold script contents for debugging purposes.
2016-06-17 03:15:02 +03:00
Sandu Liviu Catalin
399ef5a292
Fix minor misspelling in core class.
2016-06-17 03:14:26 +03:00
Sandu Liviu Catalin
b3f0e98758
Implement script bundles in the script loading process.
2016-06-17 01:40:10 +03:00
Sandu Liviu Catalin
02aa2667a6
Allow chaining on Reset and Clear methods of the SQLite Statement type.
2016-06-16 06:37:32 +03:00
Sandu Liviu Catalin
af9c00298c
Fix infinite loop when registering constants.
2016-06-16 03:12:01 +03:00
Sandu Liviu Catalin
f8fabaf0b5
Improve the names of elments in the Skins enumeration to be consistent with the other enumerations.
2016-06-16 02:44:13 +03:00
Sandu Liviu Catalin
9a66f2a5d6
Reduce overall compile time and executable size of constants registration.
2016-06-16 02:43:07 +03:00
Sandu Liviu Catalin
db943d802c
Ignore the sandbox folder.
2016-06-16 00:05:19 +03:00
Sandu Liviu Catalin
22dc3a03ed
Add the SQLite library back to the project.
2016-06-16 00:03:17 +03:00
Sandu Liviu Catalin
a1d2a620b5
Remove the SQLite library from the project.
2016-06-16 00:02:28 +03:00
Sandu Liviu Catalin
8087d0482f
Untested revised implementation of the SQLite module.
2016-06-15 23:49:25 +03:00
Sandu Liviu Catalin
166760fd46
Export functions to at least create shared buffers from modules.
2016-06-15 10:01:07 +03:00
Sandu Liviu Catalin
861c830bb7
Improve the constructors in shared buffers implementation.
2016-06-15 10:00:28 +03:00
Sandu Liviu Catalin
bca0e1f3c6
More validations on identifiers obtained from the server.
...
Prevent out_of_range exceptions leak into the script as it would end up in a crash since Sqrat doesn't know how to handle them.
2016-06-15 06:11:47 +03:00
Sandu Liviu Catalin
ef41d0d243
Improve the SetAnimation method on player class.
...
Make it so that the animation group is optional.
2016-06-15 06:06:03 +03:00
Sandu Liviu Catalin
7391d9391e
Prevent triggering the player option change event value din not change.
...
If the value for the specified option would not be changed then there's no point in triggering any event or attempting to set it again only and have the same effect.
Fixed minor misspelling in the player class source.
2016-06-14 04:42:18 +03:00
Sandu Liviu Catalin
5a225a70b9
Validate identifiers obtained from the server before using them.
...
Prevent aout_of_range exceptions from leaking to the script in case the server returns a negative identifier. Thus, resulting in a server crash since Squirrel would not know how to handle them.
2016-06-14 02:34:04 +03:00
Sandu Liviu Catalin
4327eaf72c
Add helper functions to pack colors into integers.
...
This removes the need to create an instance of the Color3 or Color4 classes just to obtain a packed color integer.
2016-06-14 02:18:37 +03:00
Sandu Liviu Catalin
a71b45567a
Added LastArmor alias to the player class for consistency.
2016-06-14 00:50:20 +03:00
Sandu Liviu Catalin
9c547ae8a8
Add the Colour alias when retrieving the color from Checkpoints.
2016-06-13 01:33:52 +03:00
Sandu Liviu Catalin
85e881effa
Fix const correctness in utility functions.
...
By not taking the object reference as const we are forced to make copies of objects that are const or use const_cast. Eitherway, this is the correct way because objects are not modified.
2016-06-13 00:27:06 +03:00
Sandu Liviu Catalin
67d0360fb3
Add the Colour alias when retrieving the color from Blips.
2016-06-13 00:23:30 +03:00
Sandu Liviu Catalin
6e76ec8012
Add an empty program for the Sandbox project.
2016-06-12 13:53:15 +03:00
Sandu Liviu Catalin
a81b950952
Don't separate C++11 code from legacy code through macros. Make C++11 the default C++ version required.
2016-06-12 13:49:43 +03:00
Sandu Liviu Catalin
0240d192e9
Implement move semantics on the Sqrat function wrapper.
2016-06-12 13:43:29 +03:00
Sandu Liviu Catalin
3ca90d0698
Implement move semantics on the Sqrat table wrapper.
2016-06-12 13:43:19 +03:00
Sandu Liviu Catalin
4eaf365bee
Implement move semantics on the Sqrat array wrapper.
2016-06-12 13:31:28 +03:00
Sandu Liviu Catalin
f71a1aa667
Implement move semantics on the Sqrat object wrapper.
2016-06-12 13:31:21 +03:00
Sandu Liviu Catalin
67d6f54426
Minor optimizations in Sqrat when retrieving script strings.
2016-06-12 13:02:04 +03:00
Sandu Liviu Catalin
d96a6dff0b
Minor optimization when retrieving the last error.
2016-06-12 13:01:43 +03:00
Sandu Liviu Catalin
579bd4d76b
Implement move semantics for Sqrat smart pointers.
2016-06-12 13:01:04 +03:00
Sandu Liviu Catalin
eb58f59f81
Implemented the sub logging functionality in linux.
...
The sub logs used the same color as regular logs, instead of a darker/dim text.
2016-06-11 18:01:26 +03:00
Sandu Liviu Catalin
e3ecc782ef
Fix compile time error in Chrono library.
...
The get tick count functions were defined as members of the Chrono class.
2016-06-11 17:53:55 +03:00
Sandu Liviu Catalin
a3169ad7d2
Partial implementation of the JSON module.
2016-06-09 03:01:19 +03:00
Sandu Liviu Catalin
f1d8d60e96
Improve the string retrieval from the stack to make use of the new sq_getstringandsize API function and also obtain the size everytime.
...
Add two new helper functions to retrieve the string representation of a certain script type or object.
2016-06-09 02:05:36 +03:00
Sandu Liviu Catalin
94fb58cc5d
Fix compile time error in implicit conversion to boolean from previosu commit.
2016-06-08 21:10:31 +03:00
Sandu Liviu Catalin
cf00eaa1b4
Implicit conversion to boolean of smart Sqrat pointers so they can be used in conditional expressions.
2016-06-08 16:57:48 +03:00
Sandu Liviu Catalin
bc1e7dbde6
Implement the option to specify how many times you want to allow intensive entity events to be forwarded to script callbacks.
...
Also expose several properties for the vehicle entity type that I forgot about.
2016-06-08 16:53:16 +03:00
Sandu Liviu Catalin
6489dfdf08
Fix the command system which would fail on recursive command execution.
2016-06-08 16:26:55 +03:00
Sandu Liviu Catalin
410a60cfe5
More helper functions to the shared utility.
2016-06-07 03:04:57 +03:00
Sandu Liviu Catalin
0d6e80a9d5
More MySQL implementation.
2016-06-05 05:36:33 +03:00
Sandu Liviu Catalin
3affe10c35
Initial implementation of the MySQL statement class.
...
Various other additions and improvements to the MySQL module.
2016-06-05 05:08:59 +03:00
Sandu Liviu Catalin
fc8fcbccd9
Also remove the decimal sources from project.
2016-06-05 05:01:29 +03:00
Sandu Liviu Catalin
221e27e090
Remove implementation of the Decimal time. Not worth the troublem.
2016-06-05 04:28:45 +03:00
Sandu Liviu Catalin
3411f7c64b
Export basic interaction with the decimal type.
2016-06-05 04:16:42 +03:00
Sandu Liviu Catalin
723f6296e2
Minor addition to the Decimal time.
2016-06-05 04:15:55 +03:00
Sandu Liviu Catalin
a1af9af0d7
Fix wrong includes left over by the merge of numeric libraries.
2016-06-05 04:15:23 +03:00
Sandu Liviu Catalin
edc6a22d24
Forgot to include project changes to include the addition of the Decimal type.
2016-06-05 03:54:45 +03:00
Sandu Liviu Catalin
17e78b83dd
Initial untested implementation of the Decimal type.
2016-06-05 03:54:15 +03:00
Sandu Liviu Catalin
07b8a8b4a0
Minor improvements on the LongInt classes.
2016-06-05 03:53:58 +03:00
Sandu Liviu Catalin
d42040c9c0
Merge the Random and Math libraries into the Numeric library and organize code a bit.
2016-06-05 00:00:59 +03:00
Sandu Liviu Catalin
cce6beb4d5
Fix the exported API for the Chrono library to use unsigned integers.
2016-06-04 23:10:35 +03:00
Sandu Liviu Catalin
2aa7e8b7c2
Furher implementation and improvement of the Chrono types and also exposed them to the module API.
...
Tighten the safety of exported functions to avoid exceptions leaking outside the host plugin.
2016-06-04 22:33:34 +03:00
Sandu Liviu Catalin
36c49cd09c
Forgot to register the Hash and AES sub libraries from the main Crypt library.
2016-06-04 22:32:08 +03:00
Sandu Liviu Catalin
0093bc2dec
Implemented and improved more types in the Chrono library.
2016-06-04 19:17:42 +03:00
Sandu Liviu Catalin
ba6acb0d19
Implement the Date type.
2016-06-04 11:55:06 +03:00
Sandu Liviu Catalin
201a6e0016
Empty registration of the MySQL statement and result set.
2016-06-03 22:25:06 +03:00
Sandu Liviu Catalin
525148ccd1
Implement the query execution functions on MySQL connection.
...
Minor adjustments in comments.
2016-06-03 22:17:52 +03:00
Sandu Liviu Catalin
2f16d63e2a
Remove query queueing mechanism from the MySQL connection handle.
2016-06-03 22:17:01 +03:00
Sandu Liviu Catalin
125088c9e3
Implement several helper functions to create long integer instances.
2016-06-03 22:16:14 +03:00
Sandu Liviu Catalin
279479cddc
Partial untested implementation of the MySQL module.
2016-06-03 21:33:21 +03:00
Sandu Liviu Catalin
f6987b3de2
Update the .gitignore file to exclude mysql headers on windows.
...
Enable extra warnings in the sandbox project.
2016-06-03 21:32:51 +03:00
Sandu Liviu Catalin
55df0b702c
Update the Sample module to work with the modified API.
2016-06-03 21:31:58 +03:00
Sandu Liviu Catalin
a792ae525e
Update the XML module to work with the modified API.
...
Separate the XML handles into their own source files.
2016-06-03 21:31:34 +03:00
Sandu Liviu Catalin
4d77386b21
Update the SQLite module to work with the modified API.
...
Separate the SQLite handles into their own source files.
2016-06-03 21:31:00 +03:00
Sandu Liviu Catalin
e1a1ccf979
Update the Mongoose module to work with the modified API.
...
Separate Mongoose handles into their own source files.
2016-06-03 21:30:05 +03:00
Sandu Liviu Catalin
26d12d601d
Update the MaxmindDB module to work with the modified API.
2016-06-03 21:29:15 +03:00
Sandu Liviu Catalin
e3f861ccbd
Update the JSON module to work with the modified API.
2016-06-03 21:28:50 +03:00