SNES9x Input Animator
Rationale:
I developed this utility to help with the idea of using input to create animations in TASing that could be viewed with input display turned on.
This program can convert an existing SMV to use more or less controllers than it is currently using, and then input can be added. I kept adding more and more options to try and make the program easier to use, in hopes that others will be interested in its potential and maybe add it to their TAS projects as well.
Basics:
There are two "modes" to this program. The current mode is determined by whether or not an SMV file is open. Before a file is open, it is a playaround mode where you can create patterns, move them around, and save or load them.
Once a movie file is loaded, options become enabled to select a beginning frame and duration to add the current pattern to. On a desired frame and duration (which will give an ending frame), clicking insert will put this pattern into the movie at that spot, and place the current frame at the first frame after this insertion. I tried to make this intuitive and work efficiently for basic ideas (such as scrolling text), but most things still need to be done "manually".
When a file is opened, it is checked for which controllers are enabled and adjusts the allowed controllers as needed by graying out the checkboxes which aren't supported. The purpose of still having a checkbox is to indicate which controllers to overwrite for a certain frame, and which ones to leave alone.
The most common example will be adding input to the extra controllers after the 1-player SMV has already been completed. To do this, uncheck Player 1's checkbox and add input to other controllers as desired. When the pattern is inserted, Player 1's input will not be affected. On the other hand, if Player 1's checkbox is left checked, the program will overwrite Player 1's input with precisely what is on the grid - if nothing is selected, it is overwritten as "no input for this frame".
Due to the immediate way this program changes data, it is strongly recommended to backup any file that you plan on opening with this program.
If you want different controllers enabled in the movie file than it was originally given, that can be done via Movie -> Controllers, when a movie is loaded. You can select which controllers to enable and which to disable, and a new movie file will be constructed, using data from the original file where applicable.
It should be noted that the number of controllers can change the sync of certain existing movies. For example, taking the latest SMW TAS and converting it to 5-player will cause it to desync after Castle #1. I suggest anyone planning on adding input animation to their SMV should choose the controllers they want to use from the beginning of their movie.
Credits:
I would like to thank the following people for early beta testing:
- Cardboard
- Fabian
- jaysmad
- Maximus
Due to a
bug in SNES9x 1.43 v9 or v10's input display, I recommend upgrading to Gocha's v11
here to take full advantage of this concept. It fixes the controller input display and does not affect sync.
Please post questions, suggestions, or corrections here.