forked from electronicarts/CnC_Generals_Zero_Hour
-
Notifications
You must be signed in to change notification settings - Fork 151
feat(replay): Add checkpoint save and resume functionality for replays #2152
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
Draft
bobtista
wants to merge
45
commits into
TheSuperHackers:main
Choose a base branch
from
bobtista:bobtista/replay-checkpoint-save
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
1a8d339
bugfix(savegame): Add headless mode checks to prevent UI calls and sk…
bobtista f8e6753
feat(recorder): Add save/load serialization support for RecorderClass
bobtista b90eeb8
feat(cli): Add command line options for replay checkpoint save/load
bobtista a7d6f57
feat(replay): Add checkpoint save and resume functionality for replays
bobtista 964c8fa
bugfix(recorder): Preserve mode and game info during checkpoint loading
bobtista 3a2d0fc
bugfix(logic): Call prepareForMP_or_Skirmish when loading replay chec…
bobtista 16b7b6d
bugfix(savegame): Fix save file path lookup in getSaveGameInfoFromFile
bobtista 2d3886f
bugfix(cli): Fix command line parsing order for -loadCheckpoint and -…
bobtista 305bff0
feat(replay): Implement continueReplayFromCheckpoint for headless che…
bobtista 3b69948
bugfix(recorder): Capture replay file position before serialization
bobtista c0f492f
feat(random): Add functions to save/restore full RNG state for checkp…
bobtista 8d57996
feat(object): Add friend methods to set next/prev pointers for list r…
bobtista 0b91a7b
feat(savegame): Add TheAI to save block list for checkpoint serializa…
bobtista 89a1959
refactor(replay): Simplify checkpoint save error handling
bobtista 75d45b1
feat(replay): Add RNG state serialization and object list reversal fo…
bobtista 9b4884b
feat(replay): Reset transient AI state after checkpoint load for CRC …
bobtista 704094e
bugfix(replay): Fix shroud state corruption after checkpoint load by …
bobtista 492ecd3
bugfix(replay): Initialize m_lastCell for dirty modules after checkpo…
bobtista 33515e1
bugfix(replay): Serialize path timestamp and blocked state for checkp…
bobtista 90213b7
bugfix(replay): Fix weapon timing corruption by comparing WeaponSet b…
bobtista a941470
feat(savegame): Serialize AI, Pathfinder, and AIGroup state for check…
bobtista bf1768e
feat(savegame): Serialize PartitionCell coordinates for checkpoint CR…
bobtista 9a280f0
feat(replay): Preload CRC from replay file after checkpoint load for …
bobtista 67f736d
refactor(replay): Move RNG restoration to start of update and add aut…
bobtista 93c79d0
cleanup(replay): Remove obsolete resetTransientStateForCheckpoint wor…
bobtista 8beb024
feat(replay): Call pathfinder loadPostProcess from AI to trigger zone…
bobtista eaf2c2d
cleanup(replay): Remove debug logging added during checkpoint investi…
bobtista b34884f
feat(replay): Add checkpoint load tracking and sleepy update order re…
bobtista e85c0ce
fix(replay): Call loadPostProcess on modules during checkpoint load
bobtista 99cc98c
refactor(savegame): Fix weapon timing root cause by syncing template …
bobtista 9b32872
bugfix(pathfind): Fix out-of-bounds array access in Pathfinder::crc()
bobtista cea56d7
bugfix(savegame): Handle absolute paths in getFilePathInSaveDirectory
bobtista 54f675d
bugfix(checkpoint): Add protection for adjustDestination and goal pos…
bobtista 94e8f06
bugfix(checkpoint): Add 3-frame protection window to justLoadedFromCh…
bobtista 6b8c8f4
bugfix(checkpoint): Set checkpoint load frame for all units not just …
bobtista 943b6a1
bugfix(checkpoint): Preserve cell flags in Pathfinder::loadPostProces…
bobtista 9d2fc0c
bugfix(replay): Fix CRC queue handling and preload tracking after che…
bobtista 5077a9d
bugfix(replay): Use isPlaybackMode for CRC message routing instead of…
bobtista c3c0ee7
refactor(checkpoint): Remove duplicate pathfinder loadPostProcess cal…
bobtista f94c413
bugfix(savegame): Delete pre-existing weapons during load when saved …
bobtista 07dffa1
fix(savegame): Serialize script m_frameToEvaluateAt to prevent RNG di…
bobtista e4d251e
fix(savegame): Save checkpoint at correct frame to capture state befo…
bobtista 2347317
fix(savegame): Support headless mode in BaseHeightMapRenderObjClass::…
bobtista 9662300
fix(savegame): Include TerrainVisual chunk in headless mode saves
bobtista 8c2a820
fix(savegame): Handle null pointers in W3DTerrainVisual::xfer for hea…
bobtista File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some issues with the CRC computation for the replay from save game.