branchrust_reboot/main/demo_compatability_layercancel
12 Commits over 0 Days - Infinitycph!
- More involved 'needs compatability' check
- Only show popup provided compatability is previously turned off
main -> demo_compatability_layer
Allow doprepare to add to the demo compatability file
Ensure prefab ids dont match wont fire if using the compatability layer
Further cleanup, boolean gating for lookup creating
main -> demo_compatability_layer
Ability to dynamically add in single compatability layer remappings - this should allow the quick add to manifest buttons to auto add any remap changes as well
When opening a demo check if the recorded manifest CRC is different than the one we have and if it is then ask the user if they want to use the comptability layer.
Seperate client + server properly.
Store a CRC check on the manifest - this can tell us if a demo was recorded with a different manifest, so we know when to optionally enable the compatability layer
Add to the demo header
- Setup a seperate file for demo compatability rather than dumping it manifest
- Only store deprecated strings for 120 days from generation (roughly 4 updates, this will need tweaked)
Demo compatability layer
This will allow us to run older demos on newer versions of the game without breaking references in between.
Before:
- If you changed the name of an object it would break all demos before it.
- If an RPC changed name it would break all demos before it
Now: we can optionally cache all of the old names + hashes of objects and RPCs during each manifest build then on playback we can check for missing ones to fill in the blanks.
Won't be a silver bullet but should prevent simple issues from destroying demos