* 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
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
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
* Redesigned G's Cache to use Globals that are more reliable (and actually work).
Refactored START_NEW_SCRIPT_WITH_ARGS to use a static unordered_set so that it's not constantly constructing it each call, and potentially closes#2462
Added Pickup Pool.
1. Allow interloper_reaction to use timeout.
2. Fix crash reaction(except TSE) cannot use announce in chat.
3. Allow all friends to bypass auto kick spammers, modder flag and reactions.
Provides an alternative for users who experience this weird bug https://github.com/YimMenu/YimMenu/issues/2266 . They can just trust their friends until someone provides valuable information for developers to fix.
4. Allow trusting specific players (bypass auto kick spammers, modder flag and reactions).
5. Trust the whole session temporarily (Avoid team members being kicked when in mission).
6. Remove duplicate logs when blocking crash (except for TSE crash)
7. remove unused gamer_instruction_kick in reaction list
8. Allow announce in team only chat
* Fixed edge case where a garage that contained only banned vehicles would show if the user was using Spawn Clone.
Refactored a large portion of the garage code to be production ready.
Formatting changes.
* Added singular garage items to the m_garage setter like the Terrorbyte.
* Fixed is_blacklisted_vehicle returning an inverted condition.
Fixed Garage drop-down not updating properly.
* Separated out m_garage's setter into a ctor function.
Replaced the 4 singular garages that use an overloaded index with a define to be able to shift them easier when new properties are added.
* Removed obsolete and incorrect player.character_slot config entry.
Removed deprecated local_player.hpp.
Added self::char_slot that is guaranteed to be correct.
* Removed extraneous semi-colon.
* Added more stuff to fillsnacks.
Removed more extraneous usages of MPPLY_LAST_MP_CHAR.
* Added the vehicle's name to player info.
* Fixed get_property_garage_size returning the incorrect size for the facility.
Fixed get_static_property_name returning the Nightclub's name instead of Nightclub Service Entrance to maintain consistency with the Mechanic.
Fixed garage_slot_iterator not starting and ending at the correct indexes.
* Shifted the singular properties down one to compensate for the new math.
* Fixed backwards math on Terrorbyte and Nightclub B1.
* Fixed garage not being updated when the player moved the vehicle.
* Fixed backwards comments.
* Fixed#1690.
* Added Hold For Boost to Boost Behavior.
* Added Teleport into Personal Vehicle and Toggle Vehicle Fly Mode as hotkeys.
* Fixed pvtp command not working if you were inside a building.
* 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