* Complete player and network UI redesign, meant to show all features instead of stuffing them into tiny boxes
* Added option to delete player vehicles
* Better clone player (now clones head blend too)
* Better host token spoofing, with an option to enter your own
* Better host token spoofing detection
* Better desync kick prot detections
* A script blocker for the entire session (per-player options will be added later)
* Added option to spoof data/DLC hashes
* Logging framework that allows developers to easily debug false positives
* Major protection improvements
* Fixed get_rockstar_id returning an incorrect type.
* Added more OOP usage of get_rockstar_id when applicable.
Co-authored-by: gir489returns <gir489returns@outlook.com>
* Refactored Script Event Logging to log to a file that's kept open, but flushed each event instead of spamming the console.
* Added Rockstar ID to the Script Event Logger.
feat(invoker): add compiler hints
chore(get network event data): added translation TODO
feat(native hooks): add compiler hint to crashes
feat(render): add likely compiler hint to on_present
feat(thread pool): add compiler hints
Added hook likely/unlikely switches to debug/crash scenarios.
Added HEX_TO_UPPER call on the AC verifier offsets.
Added more fuzzer unlikely attributes.
Replaced some hard coded numbers with their unhashed _J variants.
Added more unlikely attributes to singleton initializer checks.
Added more likely/unlikely attributes to certain scenarios.
The main goal was improving the readability of the original code however some ugliness remains.
- Swapped from pointer singleton to instance singleton
- Actually make use of the alpha logic that used to be present
- Added a counter to notifications to indicate if something is being spammed
- Notification timeouts reset if they're sent to the queue again
Why? Shorter to write and removes the macro usage
I used the following regex to find all occurrences:
```r
RAGE_JOAAT\("(.*?)"\)
```
then the following to replace it all:
```r
"$1"_J
```
Related YimMenu/Translations#117
Closes#2723
Changes made:
- Renderer class was changed to a static instance
- Some throw code was removed because of change of instantiation of the renderer
- Fonts are dynamically loaded based on the language requirements
- renderer files have been moved to make the root directory less messy
- Added a font mgr to improve the ease of adding more language support