Sandu Liviu Catalin
f5ec4e65ce
Also prevent the player entity instance from being destroyed in mid-destruction.
2016-03-24 07:23:01 +02:00
Sandu Liviu Catalin
b877b1701b
Don't release the callbacks abruptly in Function destructor.
2016-03-24 06:59:02 +02:00
Sandu Liviu Catalin
ff6cacaf68
Dumb approach to recive some kind of asserts if the program crashes because a component was used after it was deleted.
2016-03-24 06:43:02 +02:00
Sandu Liviu Catalin
3762b5e2ca
Fix the exception code and make it use pooled buffers instead of the common buffer.
2016-03-24 05:30:07 +02:00
Sandu Liviu Catalin
01bafd7c4f
Fix issues in the entity creation and destruction code.
...
Implement a locking mechanism to prevent entities be dstroyed in mid-destruction.
Also clean up properly when internal instances are deleted.
2016-03-24 05:28:55 +02:00
Sandu Liviu Catalin
23617b1493
Remove exceptions from entity creation/destruction if the entity already exists or doesn't at all.
2016-03-24 04:20:33 +02:00
Sandu Liviu Catalin
133bedce50
Dumb implementation of GetTickCount to be revised later if necessary.
2016-03-23 00:49:10 +02:00
Sandu Liviu Catalin
bcdb9707f0
Initialize the server callback that notify about player and vehicle updates.
2016-03-22 16:41:15 +02:00
Sandu Liviu Catalin
a23d934482
Implemented the entity pool change server callback to actually create and release entity instances.
2016-03-22 04:27:11 +02:00
Sandu Liviu Catalin
1f0d26da33
Separated the code that deallocates entity instances so it can be shared by entity pool change events from the server.
...
Minor improvements in the entity allocation methods.
Removed the return value from the function binding method.
2016-03-22 04:12:25 +02:00
Sandu Liviu Catalin
b60c8bc12c
Separate the code that actually allocates the entity instance so it can be shared by entity pool change events from the server.
2016-03-22 03:29:27 +02:00
Sandu Liviu Catalin
b8ddc7f3b8
Use script exceptions in central core if if an error occurred when creating entities.
2016-03-22 02:53:22 +02:00
Sandu Liviu Catalin
b24104c99f
Revised the standard string library to have cleaner code.
...
Implemented the Explode/Implode functions that work with a single delimiter.
2016-03-22 02:07:34 +02:00
Sandu Liviu Catalin
ec88d0ae30
Replaced the numeric limits from previous legacy implementation with the one provided by C++11.
...
Added a few extra constants for numeric limits.
2016-03-22 02:05:50 +02:00
Sandu Liviu Catalin
8088ba94c2
Updated the exception system in the main plugin to also include the location in the source files in debug builds.
...
Moved the functions that extract base types from strings as static functions under the associated type.
Revised some of the base shared code.
Fixed some of the functions in the String library that did not take into account the null terminator.
2016-03-21 22:37:58 +02:00
Sandu Liviu Catalin
6f417d60bb
Reviewd the host plugin exports to prevent exceptions going outside the exported functions and minor improvements on value casting.
2016-03-18 12:56:48 +02:00
Sandu Liviu Catalin
afc72a0162
Fixed a bug in the command system that did not take into account the null terminator when finding the command separator.
...
Added the option to retrieve the listener instance of the currently executed command.
Moved several helper functions to where they belong.
2016-03-17 22:06:14 +02:00
Sandu Liviu Catalin
ad6aef3637
Remove leftover printf from previous commit.
2016-03-17 09:49:27 +02:00
Sandu Liviu Catalin
bbb4c12f9c
Fixed a bug in routines that prevented more than one routine to exist in a bucket.
...
Also added several helper functions to query information about routines.
2016-03-17 09:25:17 +02:00
Sandu Liviu Catalin
839c3c3434
Allow the retrieval of the currently executed command from the command system.
...
Also improve the way errors during the execution are handled and resources are released.
2016-03-16 19:11:42 +02:00
Sandu Liviu Catalin
98b2ddfda6
Fix bug in command system when identifiying where the command name ends.
...
Also add a quick helper function to retrieve the number of existing commands.
2016-03-15 14:12:14 +02:00
Sandu Liviu Catalin
acaf826498
Revised the implementation for the command system to be safer in situations that could lead to the destruction of the listener instance while still used.
...
Also changed the command system to store the commands in a contiguous container since commands are only inserted once and constantly accessed after.
Documented the command listener member functions.
Various other fixes and improvements.
2016-03-15 10:56:00 +02:00
Sandu Liviu Catalin
bab8146c89
Fixed a range error in the SQLite plugin when validating column indexes.
...
Added an extra flush overload to flush all elements in a handled manner.
Prefixed the Server table to not clutter the user space.
2016-03-13 13:39:17 +02:00
Sandu Liviu Catalin
a00e8c964f
Fixed names of hash functions that were overwriting the hash types.
2016-03-12 22:58:03 +02:00
Sandu Liviu Catalin
5c81af5026
Minor changes in the entity types code style.
2016-03-12 22:51:44 +02:00
Sandu Liviu Catalin
a5b353b104
Adjusted routine messages to exclude unnecessary details except for places where the script error handler will catch the error location.
2016-03-12 22:51:05 +02:00
Sandu Liviu Catalin
d2f3da1747
Catch exceptions during server callbacks.
...
Allow routines to safely terminate routines during execution.
Various other fixes and improvements.
2016-03-12 08:47:50 +02:00
Sandu Liviu Catalin
386c1d5254
Revert hash functions to their previous names.
2016-03-11 21:38:06 +02:00
Sandu Liviu Catalin
3fa7b17bd7
Fixed the SysPath type returning wrong result in test emptiness.
...
Added the option to build the path as a string using a speciffic style.
2016-03-11 20:52:00 +02:00
Sandu Liviu Catalin
f27a195b6f
Fixed the INI compilation on Linux by reverting to the original library.
...
Fixed an infinite loop in the parsing of command specification strings.
Added the option to retrieve common configs with a fall back value if they don't exist.
Few other minor changes.
2016-03-11 20:04:26 +02:00
Sandu Liviu Catalin
20ae383c42
Remove duplicate code that converts a buffer to a script string object.
2016-03-11 04:23:59 +02:00
Sandu Liviu Catalin
4cac7d2d30
Updated the buffer class to include an optional numeric value to be used as an edit cursor or to mark the used buffer size.
...
Basic implementation of the system path class and several fuctions to retrieve information about the running system.
2016-03-11 04:14:28 +02:00
Sandu Liviu Catalin
58891f1e8b
Implemented searching entities by ID and Tag.
2016-03-10 06:18:39 +02:00
Sandu Liviu Catalin
70e5f0ba21
Migrated the host module to C++ exceptions as well.
...
Also enabled the latest C++ revision in the project.
Replaced the Random library with the one provided by C++11.
Implemented a simple AES256 encryption class.
Various other fixes and improvements.
2016-03-10 05:57:13 +02:00
Sandu Liviu Catalin
53834fe1d9
Remove the old SqThrow function from the module API.
2016-02-28 16:21:09 +02:00
Sandu Liviu Catalin
f4a11ef825
Separated major non mandatory libraries into their onwn modules.
...
Consolidated and simplified the module API system.
Various other fixes and improvements.
2016-02-27 11:57:10 +02:00
Sandu Liviu Catalin
fa12692490
Implemented the module system.
2016-02-23 17:48:30 +02:00
Sandu Liviu Catalin
48406020f8
Implemented formatted messaging on IRC session type.
...
Duplicate SetDccVersion as property and not just method.
2016-02-23 06:47:02 +02:00
Sandu Liviu Catalin
31c151ac63
Documented a few methods in the IRC session and fixed CTCP reply calling wrong function.
2016-02-23 06:00:50 +02:00
Sandu Liviu Catalin
bedf03c9cd
Implemented the IRC library.
...
Fixed a bug in the Routine system that caused crashes when constructed with only the first three arguments because it wasn't attached.
Implemented a gentle release of functions to not release them if the reference count is 1.
Adjusted the Routine and Command system to not be necessary to include them in the module core.
Moved the INI and XML libraries into their own namespace.
Various other modifications and fixes.
2016-02-23 05:23:56 +02:00
Sandu Liviu Catalin
bda4ecad9c
Partial implementation of the xml library.
2016-02-22 09:28:57 +02:00
Sandu Liviu Catalin
ef4dda0756
Move the random library to the external directory.
2016-02-22 09:27:20 +02:00
Sandu Liviu Catalin
c4f6de2afd
Discarded validations already performed by the ini library as wel as a few other minor changes and fixes.
2016-02-22 09:26:52 +02:00
Sandu Liviu Catalin
22f1bb5a0c
Initial implementation of the ini library.
2016-02-21 15:55:50 +02:00
Sandu Liviu Catalin
35d662a02f
Minor additions and fixes to the command system.
2016-02-21 10:31:10 +02:00
Sandu Liviu Catalin
3d77dfc508
Minor additions and fixes to the string library.
2016-02-21 10:30:47 +02:00
Sandu Liviu Catalin
1f62e1f88b
Initial implemenattion of routines.
2016-02-21 09:25:46 +02:00
Sandu Liviu Catalin
a26e5db7ae
Renamed time function to avoid collision with windows api.
2016-02-21 09:25:16 +02:00
Sandu Liviu Catalin
06cd7734a4
Initial implementation of the time library.
2016-02-21 07:40:06 +02:00
Sandu Liviu Catalin
a66904702e
Prefix library names to avoid poluting the global scope.
...
Fix consistent naming through base types.
2016-02-21 07:39:33 +02:00
Sandu Liviu Catalin
06e598acfb
Dumped the old implementation. Started with a more simple approach.
2016-02-21 00:25:00 +02:00
Sandu Liviu Catalin
5db905de2f
Typedef c style strings.
2015-11-13 19:43:49 +02:00
Sandu Liviu Catalin
79ab9f7a6a
Updated the IRC library to use the new debugging system.
2015-11-12 20:16:07 +02:00
Sandu Liviu Catalin
0f85aedde6
Updated the IRC library to use the new debugging system.
2015-11-11 14:19:45 +02:00
Sandu Liviu Catalin
9493f110c6
Updated the local event type and it's filters to used the new debugging system.
2015-11-11 12:51:32 +02:00
Sandu Liviu Catalin
7762359068
Minor spelling mistake in global event type debugging information.
2015-11-11 12:51:01 +02:00
Sandu Liviu Catalin
77b00ef97d
Updated the global event type and it's filters to used the new debugging system.
2015-11-11 12:14:38 +02:00
Sandu Liviu Catalin
8061c485fc
Updated the basic event type to used the new debugging system.
2015-11-11 12:14:21 +02:00
Sandu Liviu Catalin
d6b964d82c
Minor adjustment in the way lines are outputted in debugging information.
2015-11-11 11:41:02 +02:00
Sandu Liviu Catalin
3b729cd73d
Added several aliases and short notations for members in vehicle entity type.
2015-11-11 11:36:37 +02:00
Sandu Liviu Catalin
12b70f2795
Added several more functions for debugging infotmation in base entity reference.
2015-11-11 11:32:12 +02:00
Sandu Liviu Catalin
9c5205d03b
Minor adjustment in debugging information for sprite entity type.
2015-11-11 11:31:35 +02:00
Sandu Liviu Catalin
f3b7f35055
Minor adjustment in debugging information for textdraw entity type.
2015-11-11 11:31:26 +02:00
Sandu Liviu Catalin
09ef3f43a3
Update vehicle entity to use the new debugging implementation.
2015-11-11 11:30:50 +02:00
Sandu Liviu Catalin
f426b282ae
Registered the reference for the vehicle entity type with the script.
2015-11-11 10:56:02 +02:00
Sandu Liviu Catalin
fc603053dd
Aliased several methods for textdraw entity type. Also a minor fix in debuggin information during registration.
2015-11-11 09:55:38 +02:00
Sandu Liviu Catalin
ba1f933e7b
Aliased several methods for sprite entity type.
2015-11-11 09:54:44 +02:00
Sandu Liviu Catalin
ae1ec72715
Update textdraw entity to use the new debugging implementation.
2015-11-11 09:52:16 +02:00
Sandu Liviu Catalin
69c991167d
Update sprite entity to use the new debugging implementation.
2015-11-11 09:26:36 +02:00
Sandu Liviu Catalin
66d7421373
Update sphere entity to use the new debugging implementation.
2015-11-11 09:07:42 +02:00
Sandu Liviu Catalin
cdd5cb2050
Update player entity to use the new debugging implementation. And create alternative version of several member functions.
2015-11-11 09:02:42 +02:00
Sandu Liviu Catalin
a6ded15aaa
Update pickup entity to use the new debugging implementation.
2015-11-11 08:57:34 +02:00
Sandu Liviu Catalin
fc2ecea7b9
Update object entity to use the new debugging implementation.
2015-11-11 08:57:26 +02:00
Sandu Liviu Catalin
cd86375bd2
Update keybind entity to use the new debugging implementation.
2015-11-11 08:57:18 +02:00
Sandu Liviu Catalin
6a50e21f75
Update checkpoint entity to use the new debugging implementation.
2015-11-11 08:57:10 +02:00
Sandu Liviu Catalin
ec21e52353
Update blip entity to use the new debugging implementation.
2015-11-11 08:57:03 +02:00
Sandu Liviu Catalin
5855f7b46a
Reduce duplicate debugging information from entities by moving it to member functions in base entity.
2015-11-11 08:56:38 +02:00
Sandu Liviu Catalin
73b93d707c
Implemented a minimal version of ToStringF with a static buffer.
2015-11-11 08:54:50 +02:00
Sandu Liviu Catalin
68ac878fe9
Added a shorter name for rocket launcher in constants.
2015-11-11 08:48:47 +02:00
Sandu Liviu Catalin
3da18ee02b
Initial implementation of the internal debugging system.
2015-11-10 14:42:52 +02:00
Sandu Liviu Catalin
dfc5701799
Implemented format based query execution for SQLite database connection.
2015-11-09 08:05:36 +02:00
Sandu Liviu Catalin
00da988cc2
Implement a format based hashing API.
2015-11-09 07:36:41 +02:00
Sandu Liviu Catalin
8c81a0f2b2
Minor fix in logger.
2015-11-09 07:36:22 +02:00
Sandu Liviu Catalin
bcf9d603e7
Implemented global and local player messaging customization.
2015-11-09 05:54:03 +02:00
Sandu Liviu Catalin
3c3e67bdaa
Implement message prefixing and other style customization.
2015-11-09 04:32:32 +02:00
Sandu Liviu Catalin
8b9d46d9a9
Implemented player messaging.
2015-11-09 03:29:04 +02:00
Sandu Liviu Catalin
14a46c5372
Fixed spelling mistake in command function name. Updated collor packing macros to correct type casting.
2015-11-09 03:27:52 +02:00
Sandu Liviu Catalin
3f7f2c9163
Removed unnecessary return from logger.
2015-11-09 01:35:59 +02:00
Sandu Liviu Catalin
c6ee38e3b6
Implemented user defined type conversion for color types.
2015-11-09 01:35:39 +02:00
Sandu Liviu Catalin
6f89d0b8d1
Use entity instance when sending the invoker to commands.
2015-11-08 23:52:56 +02:00
Sandu Liviu Catalin
8a01a1b0ed
Added auto generation of informational message based on the suplied argument tags and specifiers.
2015-11-08 23:25:40 +02:00
Sandu Liviu Catalin
b5ed79ad43
Exposed methods for checking if an argument supports a certain type and whether a certain invoker is allowed to execute.
2015-11-08 22:34:14 +02:00
Sandu Liviu Catalin
b6023b842e
Implemented command argument tag/name to allow auto generation of command syntax information.
2015-11-08 22:31:03 +02:00
Sandu Liviu Catalin
d26b9b560e
Fixed argument range checking in command manager.
2015-11-08 21:34:25 +02:00
Sandu Liviu Catalin
4e23d3ff88
Exported command enumerations and helper function to retrieve player instance level without an instance.
2015-11-08 21:12:05 +02:00
Sandu Liviu Catalin
ad65cf91d8
Documentation spelling corrections and added several functions to retrieve useful information about the currently executed command and a more expanded constructor as well.
2015-11-08 20:53:50 +02:00
Sandu Liviu Catalin
e41581a0e3
Added a member function in command manager to retrieve the last invoker.
2015-11-08 12:36:23 +02:00
Sandu Liviu Catalin
b05b8f3859
Fixed several spelling mistakes in code class documentation.
2015-11-08 12:35:54 +02:00
Sandu Liviu Catalin
24d2ca30c2
Exposed a couple logging functions to the script and prepared the logging class for documentation.
2015-11-08 12:34:46 +02:00
Sandu Liviu Catalin
673119db3d
Removed the root table reference from the core class which was causing a 998 error when the plugin was loaded.
2015-11-08 10:11:49 +02:00
Sandu Liviu Catalin
920d70185f
Remove log messages from the event system and and remove the need for unique signatures in signals.
2015-11-08 07:47:50 +02:00
Sandu Liviu Catalin
e1db16d3ec
Move the IRC library outside the custom folder.
2015-11-08 07:26:46 +02:00
Sandu Liviu Catalin
c070c7acc8
More documentation for the core class.
2015-11-08 07:20:31 +02:00
Sandu Liviu Catalin
3206d49404
Implemented a simple command system. Added a custom buffer class. Implemented reconnection for IRC sessions. Various other adjustments and additions.
2015-11-07 12:17:39 +02:00
Sandu Liviu Catalin
878a35eb2a
Modified IRC Session events to receive the Session instance as first argument. Remeved leftover file and minor change in IDE sandbox project.
2015-11-04 20:58:05 +02:00
Sandu Liviu Catalin
92a75e70a0
Untested implementation of the SQLite database library.
2015-11-03 04:22:21 +02:00
Sandu Liviu Catalin
4b5718a6ae
Added an untested implementation a 64bit integer wrapper for 32bit module.
2015-11-03 04:21:46 +02:00
Sandu Liviu Catalin
1e18099176
Minor changes in the IRC Session registration code.
2015-11-03 04:20:53 +02:00
Sandu Liviu Catalin
7f51bd098c
Added a few missing RFC numbers from in IRC library.
2015-11-01 18:38:05 +02:00
Sandu Liviu Catalin
ea1688bc35
Prepared the base types for documentation.
2015-11-01 10:55:47 +02:00
Sandu Liviu Catalin
acb0512d43
Added the file structure for the SQLite database wrappers.
2015-11-01 10:16:49 +02:00
Sandu Liviu Catalin
46801b1ce8
Discarded the noexcept specifier entirely.
2015-11-01 05:48:01 +02:00
Sandu Liviu Catalin
2409a896df
Changes required to compile on x64 and against extra compiler warnings.
2015-11-01 05:36:03 +02:00
Sandu Liviu Catalin
b42bc2930c
Documented the base reference type.
2015-11-01 03:50:43 +02:00
Sandu Liviu Catalin
db0de394d9
Spellcheck on the code documentation of core class.
2015-11-01 03:43:30 +02:00
Sandu Liviu Catalin
1ebb2d15ce
More documentation in the core class code. Minor code adjustments. Removed leftover includes.
2015-11-01 03:41:13 +02:00
Sandu Liviu Catalin
ed1771d376
Extended callback binding on local event type to allow custom environments.
2015-11-01 02:15:03 +02:00
Sandu Liviu Catalin
21b9e71d83
Extended callback binding on global event type to allow custom environments.
2015-11-01 02:14:55 +02:00
Sandu Liviu Catalin
0796185225
Extended callback binding on basic event type to allow custom environments.
2015-11-01 02:14:45 +02:00
Sandu Liviu Catalin
dd685a13e4
Add back the VMClose event on event types to avoid crashes.
2015-11-01 02:02:16 +02:00
Sandu Liviu Catalin
1fd54aead6
Add back the VMClose event on IRC session type to avoid crashes.
2015-11-01 01:53:51 +02:00
Sandu Liviu Catalin
11c3533917
Implemented functions to create vehicle entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:33:12 +02:00
Sandu Liviu Catalin
eb730a6ff3
Implemented functions to create textdraw entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:33:04 +02:00
Sandu Liviu Catalin
997cdc2fce
Implemented functions to create sprite entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:32:57 +02:00
Sandu Liviu Catalin
0d5dd53984
Implemented functions to create sphere entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:32:50 +02:00
Sandu Liviu Catalin
b0c174e75e
Added constructor to create a player entity reference from a base reference.
2015-11-01 01:32:41 +02:00
Sandu Liviu Catalin
8d8c9be2fd
Implemented functions to create pickup entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:32:16 +02:00
Sandu Liviu Catalin
6c308ee85c
Implemented functions to create object entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:31:57 +02:00
Sandu Liviu Catalin
78c72399db
Implemented functions to create keybind entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:31:46 +02:00
Sandu Liviu Catalin
986fc5769e
Implemented functions to create checkpoint entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:31:38 +02:00
Sandu Liviu Catalin
2a3cef8318
Implemented functions to create blip entities and added constructor to create an entity reference from a base reference.
2015-11-01 01:31:28 +02:00
Sandu Liviu Catalin
9686f9e664
Updated core class to take a Uint8 colors when creating checkpoints and speheres.
2015-11-01 01:30:45 +02:00
Sandu Liviu Catalin
0aafb46af2
Revise the entity creation/destruction system.
2015-10-31 21:28:23 +02:00
Sandu Liviu Catalin
1f985c5ebc
Move the resource releasing from the local event type to it's destructor.
2015-10-31 21:27:35 +02:00
Sandu Liviu Catalin
ab78f53875
Move the resource releasing from the global event type to it's destructor.
2015-10-31 21:27:21 +02:00
Sandu Liviu Catalin
d937be3e37
Move the resource releasing from the basic event type to it's destructor.
2015-10-31 21:27:06 +02:00
Sandu Liviu Catalin
a2a02a6c9d
Move the resource releasing from the IRC Session type to it's destructor.
2015-10-31 21:25:40 +02:00
Sandu Liviu Catalin
1a34efb45b
Fix debugging messages in Keybind type.
2015-10-30 15:22:35 +02:00
Sandu Liviu Catalin
d3d247b5f9
Simlified the buffer size calculation in Player type.
...
Fixed bug which multiplied by the type size instead of dividing. thanks @VRocker
2015-10-30 15:22:23 +02:00
Sandu Liviu Catalin
f26bf3db4a
Completed the IRC library implementation.
2015-10-30 15:14:13 +02:00
Sandu Liviu Catalin
054d81e4f1
Implemented a temporary workaround for event types that prevents crashes when anonymous functions are used.
2015-10-30 15:13:52 +02:00
Sandu Liviu Catalin
ce5957395a
Implemented the hashing library.
2015-10-30 06:37:55 +02:00
Sandu Liviu Catalin
f27dea4693
Incomplete implementation of the IRC library.
2015-10-30 04:17:18 +02:00
Sandu Liviu Catalin
6763c41c39
Replaced CFG library with the Hashing library.
2015-10-30 04:16:41 +02:00
Sandu Liviu Catalin
c2e62af14c
Documented the Textdraw type.
2015-10-29 23:14:17 +02:00
Sandu Liviu Catalin
72677546a7
Documented the Sprite type.
2015-10-29 23:10:46 +02:00
Sandu Liviu Catalin
c8907b8ea2
Fixed the keybind documentation.
2015-10-29 23:06:20 +02:00
Sandu Liviu Catalin
7c337e49cb
Documented the Keybind type.
2015-10-29 23:05:25 +02:00
Sandu Liviu Catalin
56170f5304
Fixed documentation of the Blip type.
2015-10-29 23:03:58 +02:00
Sandu Liviu Catalin
9abb596aa8
Documented the Blip type.
2015-10-29 23:02:55 +02:00