libTAS icon indicating copy to clipboard operation
libTAS copied to clipboard

feature request: Input Editor Acceleration

Open FitterSpace opened this issue 2 years ago • 0 comments

LibTAS has a great feature where you can set the mouse inputs to be relative instead of absolute. What I'm requesting here is an extension to that system where mouse inputs can be given relative to previous mouse inputs.

When I'm TASing a first-person shooter like Ion Fury, the relative mouse movement makes that a breeze. However, I like to make the camera speed up during the first half of the turn and slow down during the second half of the turn. It means the camera movement will look more natural instead of turning at a constant speed. In that situation, my mouse X inputs might look like this:

Mouse X (relative): 0 100 200 300 400 500 600 500 400 300 200 100 0

The only way I know of to do inputs like this is to type in the number in each row. I have a fast way of doing this, but it's still a bit annoying if I have to go back and change it. I'll select the first row of the turn and type 100 on my number pad, then hit the down arrow, then type the 2nd number, then the 3rd, and so on.

To make this easier, I think it would be great to have a way to make libTAS look at the input on the previous frame then add a certain number to it. Almost like typing a formula in Excel, but not as advanced. I propose a system where the same inputs could be done this way:

Mouse X (relative): 0 +100 +100 +100 +100 +100 +100 -100 -100 -100 -100 -100 -100 0

Typing in a +100 would tell the input editor to look at the input on the previous frame and add 100 to it. In this case, the first +100 sees the 0 before it, so its final value becomes 100. On the next row, there's another +100. It looks at the cell before it, knows the value will be 100, so it adds 100 to that, which makes it 200. The row after that adds 100 to 200, giving you 300, and so on.

Here's an example of where a feature like this could have helped me in the past: https://youtu.be/wANwWtKBXNw Yes, I know this is a Wii game and not a Linux game. But the same principle of relative inputs applies here. It would have saved me a lot of time if I could have just told the emulator "Take the previous analog input and add 15 to it" instead of having to manually put in that number on every frame. On the TASVideos discord, Ikuyo said it best where this feature would basically mean you're inputting mouse cursor acceleration instead of position. It could be help people make mouse movement look more natural in their TASes.

FitterSpace avatar May 08 '22 14:05 FitterSpace