Implement new sprite groups
Solves https://github.com/oli414/Blender-RCT-Graphics/issues/26
Adding my sprite groups refactor to this tool. The general mode of operation is when activating or deactivating simple sprite groups, the legacy_group_implications enables additional sprite groups based on what is currently enabled, or disables sprite groups if their constituents are not enabled. After the implication phase, the new sprite groups are enabled or disabled based on legacy_group_map and the default precision in sprite_group_metadata. If the user switches from full to simple mode, the disable-enable code is run again, to prevent the project state from being different than what the options say.
Todo:
- [x] Add new sprite groups from https://github.com/OpenRCT2/OpenRCT2/pull/19547
- [x] Tweak legacy sprite groups for better results
- [x] Add implication function
- [x] Add map function
For future reference:
Slopes25Banked22,
vvvv
Slopes8Banked45,
Slopes16Banked22,
Slopes16Banked45,
^^^^
Slopes25Banked45,