-
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Savestate fixes #214
Merged
ScribbleTAS
merged 44 commits into
MinecraftTAS:develop
from
ScribbleTAS:fix/savestates
Dec 13, 2024
Merged
Savestate fixes #214
ScribbleTAS
merged 44 commits into
MinecraftTAS:develop
from
ScribbleTAS:fix/savestates
Dec 13, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Fixed spaces in documentation
This was
linked to
issues
Jul 13, 2024
Writing this down so I don't forget:
|
The camera angle was omitted, when the previous tick or subtick was the same. However, this creates huge problems with savestates. Now, full ticks will always contain the camera angle, while subticks may be ommitted - Added scheduling to savestate client packet handler
…estate This happens when you load a savestate during playback. To fix this, a new parameter was introduced to the serialiser called `processExtensions`. Setting this to true will prevent loading metadata and filecommands and only get the TickContainers out of the TASfile.
65f1609
to
9aeae79
Compare
- Changed DesyncMonitor values from relative to absolute - Added hash to build - Added version to hud
5df61e2
to
cc86838
Compare
- Swapped yaw and pitch in InfoHud
- Trying to fix errors with the future task queue during loadstate - Trying to fix a crash with a tickList being out of sync
More weirdness where savestates come from...
|
- Fixes pressure plates and other timed components not unpressing after a loadstate - [MCTCommon] Fix eventlistener not checking for interfaces in the super class
9587580
to
b6d43be
Compare
3b95faf
to
781dc25
Compare
- Add proper logging
This happens when loading a savestate across dimensions
The solution was to redo the dimension loading class without adding the player to the chunk map. The game will be stuck on "Loading terrain" however, so an extra packet has to be sent to clear the loading screen
This can happen after loading a savestate, effectively stranding you in the nether... Solution is to clear the "portal cache" after loading a savestate
- Should fix a lot of issues that I may had to patch manually in the past
da843d2
to
5dc9725
Compare
This was
unlinked from
issues
Dec 13, 2024
PancakeTAS
approved these changes
Dec 13, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
General fix PR for Savestates and more...
Highlights
World swapping
Instead of only swapping out the chunks when loading a savestate, the entire world list is now swapped out. This fixes a multitude of issues I had with savestates, for example some redstone components not working correctly, scoreboards not getting applied and even more things that might not be as obvious... Over all the savestates should be a lot more robust this time around.
Savestates across dimensions
This was the main focus of this PR, then I sidetracked and found a lot more issues, delaying everything. #116 always gave me some trouble, but now savestates should load across dimensions on the first try!
Changes
World/tasmod/clientMotion.json
Fixes
Rework
I am by no means done with the savestate code... While working on this, I took a break and worked on LoTAS-Light implementing and testing the new savestate indexing system I proposed in MinecraftTAS/LoTAS#111 and I quite like the new system... Going back to this made me realise how necessessary a rewrite of the savestate code is and with the new insights in the savestating I gained, I am much more optimistic about porting savestates over to new versions. But all of this can wait for now...