-
Notifications
You must be signed in to change notification settings - Fork 10
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
TAS studio split and join sections of the script #110
base: master
Are you sure you want to change the base?
Conversation
I guess there needs to be some command to split while inside the editor.
I already forgot if hide does anything other than visually hide, but what exactly happens when you do this and why is it tied to hide? I guess then the editor starts showing only the post-split part? I kind of imagine splitting to be transparent in the editor, like you put a split marker and it just renders there, then if you edit after the split marker it replays the post-split part, whereas if you edit before, it replays and invalidates the whole thing. Hiding up to the split marker can be just a quality of life command, but why should hiding itself do something? |
I'm mostly thinking about this idea with very big scripts. It would be too messy to work on the end of that big script in the first place with too many lines showing together in the first place, so I thought of combining both. That idea to make it more explicit seems good though. Hiding in this case wouldn't need changes and overall the splitting still functions the same way. |
Also more additional things. |
Hmm, yeah, but also you may want some part of the script to show up to make sure you lined it up properly |
One idea I have is to show an additional set amount of frames from after the bookmark segment ends, maybe something like 250 frames by default and let you customise as you need if you want to peek more into the script, since there could be something like a cutscene you want to wait, or the default is too little because of the low frametime, etc |
Fwiw I had the same conundrum with seeing too much into the past of the script and decided to only have manual |
In that case, it could be a command to unhide past the current segment as needed |
This reverts commit dcd9adc.
Untested
// TODO: is this fine? not sure how else to get MainThreadMarker for game directory | ||
unsafe { | ||
SplitInfo::validate_all_by_saves(&mut splits, MainThreadMarker::new()); | ||
} |
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.
Is this fine?
fixed broken split logic
src/modules/tas_studio/editor/db.rs
Outdated
pub ready: bool, | ||
// TODO: timing on grabbing rng values | ||
// TODO: how do i get shared rng from engine? | ||
// TODO: i most likely need to add this information being sent from a sim client, how can this be done in a clean way |
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.
I check SplitInfo
for ready state inside apply_accurate_frame
, I need shared and non-shared RNG so splits can use those information
Is it fine to just give those information in AccurateFrame
struct? I don't know the alternate way to grab those information from whatever is sending AccurateFrame
How to mark a script split
save
linereset
linebxt-rs-split <name>
for this operationbxt-rs-split <name>
save
and this is this, this wouldn't load a save if you dobxt_tas_studio_replay
and the script replays from before the comment split markerHow does this work
save1
, the simulator will start running from thesave1
point, as long as the save is validsave1
, the markers will be invalidated and the simulator must regenerate the saves againWhat happens with bridged hltas
Shared RNG
If using a comment split marker, shared RNG is updated to not cause desyncs from shared RNG mismatching after split load
TAS editor stuff
Split bookmark
bxt_tas_studio_bookmark <name>
bxt_tas_studio_bookmark_unhide <frame_count>
, repeating using the command will keep unhiding that amount of frames, you can't edit the frames shown here, but you can see it update from the editor + simulatorbxt_tas_studio_bookmark