* feat(vscode): added launch.json to dbg
* feat(file_manager): Make use of a global instance
* feat(file_manager): Allow for file and folder instances to be empty
* refactor(GlobalsService): Update code of global service (untested)
* Refactored weapons.bin into weapons.json for extensibility and human readability.
Added weapon attachments scraping from the meta files (currently is missing a lot of attachments, more than half, requires RPF reading refactoring to fix.)
Added Ammunation to Self -> Weapons, because it's vital you protect yourself, the patriotic way.
* Fixed weapons.xml not properly populating all the components.
Refactored buttons to use components::button.
* Refactored the Attachments code to implicitly trust that the attachments will be there now.
Added proper versioning to the weapons.json file.
Removed debug logging from gta_data_service.cpp.
* Fixed Ammunation buttons.
Added loading message for the new weapons.json system.
Fixed a bug where two components shared the same name, the user could not select the 2nd component.
Fixed Attachments displaying an attachment from a previous weapon if the user changed weapons.
* Fixed Tint Apply button not using the components::button template.
* lua api: add globals.get_uint and globals.set_uint
* lua doc: remove duplicate function check as we can overload so it doesn't make sense
* lua doc gen: add support for parsing the tabs enum
* gui: custom lua tabs don't have a `func` rendering function but can still have elements to draw
* lua doc: update generated doc
* chore: code style
* chore: minor spelling mistake
* chore: code style
* gui_service: add runtime removal of tabs
* refactor: make it so that it's less likely defining tabs and their translation key in a wrong way.
* lua api: ability to add custom tabs to the gui from lua
* lua manager: pass down the scripts folder to the instance instead of hard coding calls to the file manager everywhere
* lua: add open lua scripts folder button
* lua api: change script binding so that user cannot by mistake try to sleep or yield in a non script context
* feat lua: file watcher for lua script file: reload scripts if they got changed since they were initially loaded
* feat lua auto reload: enable / disable the feature through the ui and settings
* fix: script manager and lua scripts: change the api so that the m_scripts array is only modified in a specific safe location: before it gets ticked.
* fix script manager: don't expose the script vector directly, for multithreading safety
* fix lua manager usage: don't iterate the module array without locking, nor un/load module from a script thread
* lua script: only do actual loading of lua modules in script mgr
* lua native bindin: fix pointer parameters, out C style parameters are returned as multiple return values lua-style
* feat(protections): filter invalid sector position from the player game state data node
* feat(chat): bypass chat delay
* fix(world): fix auto disarm
* fix(chat): true instant messaging
* fix(PlayerTP): Get Current only works once
* chore(README): removed features from TOC
* fix(ViewNetwork): SCTV join translation
* refactor: Use tunable service for no idle kick
* fix(Spoofing): check for valid model before spoofing
* feat(Spectate): Remove freeze and hide player blip
* fix(Spectate): case of chat not being visible as spectator.
* feat(Matchmaking): safer max search limit for match searching
* fix(Player/Toxic): Wanted Level small text translation