Skip to content

Refactor VirtualInput #178

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

Closed
2 tasks done
ScribbleTAS opened this issue Aug 9, 2023 · 3 comments · Fixed by #179
Closed
2 tasks done

Refactor VirtualInput #178

ScribbleTAS opened this issue Aug 9, 2023 · 3 comments · Fixed by #179
Assignees
Labels
Core Issue relates to core concepts
Milestone

Comments

@ScribbleTAS
Copy link
Member

ScribbleTAS commented Aug 9, 2023

VirtualInput has been a place for just chucking in functionality when needed... It is responsible for loading inputs, preloading savestates, debugging... All stuff that is suited better elsewhere.

  • Move playback controller out of VirtualInput
  • Store only pressed inputs

And that also leads to #164

@ScribbleTAS ScribbleTAS added Core Issue relates to core concepts Enhancement labels Aug 9, 2023
@ScribbleTAS ScribbleTAS added this to the Beta1 milestone Aug 9, 2023
@ScribbleTAS ScribbleTAS self-assigned this Aug 9, 2023
@ScribbleTAS ScribbleTAS moved this to Todo in TASmod Aug 9, 2023
@PancakeTAS
Copy link
Member

i thought a little more about just storing the packets directly because it would make things much simpler, but I think if you do wanna go for it it'll be a bit of a struggle in terms on mouse rotation and movement. You know in 1.0 there's no server meaning lag won't cause desync but in 1.12.2 you obviously sometimes get a packet from the server on the frame thread meaning it might desync...

@ScribbleTAS
Copy link
Member Author

So I had a lot of advantages with this system. Stiching 2 input sequences together, like for savestates is much easier with this system... Editing and displaying inputs tick by tick might also be easier.

The big downside is of this is that adding subtick stuff is very annoying... I didn't know about #167 so the solution will be a bit hacky, but then we will have a hybrid of the 2 systems...

@ScribbleTAS ScribbleTAS moved this from Todo to In Progress in TASmod Aug 11, 2023
@ScribbleTAS
Copy link
Member Author

I don't know why I didn't realize this earlier... I still have a bit of an issue with the fact that I'm storing the entire keyboard for every tick... this wastes a lot of memory... so why not store only the inputs that are pressed in each tick... The more you press, the greater the memory footprint, but wth, why didn't I think of this...

@ScribbleTAS ScribbleTAS changed the title Clean up virtual package Refactor Virtual Input Feb 8, 2024
@ScribbleTAS ScribbleTAS pinned this issue Feb 8, 2024
@ScribbleTAS ScribbleTAS changed the title Refactor Virtual Input Refactor VirtualInput Feb 8, 2024
@ScribbleTAS ScribbleTAS linked a pull request Feb 8, 2024 that will close this issue
5 tasks
@ScribbleTAS ScribbleTAS mentioned this issue Feb 8, 2024
5 tasks
@github-project-automation github-project-automation bot moved this from In Progress to Done in TASmod Feb 22, 2024
@ScribbleTAS ScribbleTAS unpinned this issue Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issue relates to core concepts
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants