This page is used for development of BizHawk's Tastudio tool. It is primarily a todo/ideas list.
TODO: make this prettier:
TASeditor's list:
Not done:
- Set lines with colors with lua, smiliar behaviour to lag, but doesn't create a log, maybe a log is useful?, auto-clear (clear on not greenzoned frames), Useful to highlight various events that happen in the game.
- feos: tastudio.onqueryitembg
- Select single input column.
- "Freeze" input to frame number, does not freeze, but selects all input columns except the selected one. negation of select single input column.
- Ghost input, compare different inputs. Possibly 2nd emulator window to compare two movies continually.
- Force greenzoned frames on selected frames. For systems with huge savestate size! Focus TASing on a specific segment. TAStudio will try to make every frame in the forced zone a greenzone and distributes them if the greenzone capacity is meet. When the forced zone is smaller than the capacity, the rest of the greenzone frames will follow the normal greenzone logic after the forced zone. The forced greenzone will not get deleted, unless the user unsets it. Changing input in the forced zone deletes the greenzones, but the selected forced zone will be still there. This should give the user a better influence on the greenzone. Setting it could be reached by selecting some frames, then rightclick->"Force greenzone", unsetting it rightclick->"Unset all forced greenzones". Currently doable with markers.
- Input with Virtual Pad in read-only mode. Send input only from Virtual Pad if the window is active.
- Input with Lua.
- Export/import branches.
- Temporary greenzone state for platforms with huge savestate size: Save a greenzone before the last edited frame, maybe only when doing float edits.
- branching with lua
- Alt+drawing: pattern
- Drag input or empty input:
- feos: There's something. Right-click on a frame or on selection with Alt, Shift, Ctrl, or Shift+Ctrl held down and drag it.
1. holding alt+shift and lmb clicked once gets the button state (pressed or released) of the clicked row
2. holding alt+shift and drawing sets the button state from 1. to current row (mouse courser)
3. if mouse courser exits row from 2. it sets the button state from that row to as it was before
Example:
2. holding alt+shift and drawing sets the button state from 1. to current row (mouse courser)
3. if mouse courser exits row from 2. it sets the button state from that row to as it was before
Example:
frame | button | explanation |
---|---|---|
123 | . | holding alt+shift and clicking into A in that frame sets a variable v to A state=(false) |
124 | A | holding alt+shift and drawing into that row saves the A state=(true) of frame 124 to t, then set the A state to v |
125 | A | holding alt+shift and drawing into that row sets the A state of frame 124 from t=(true), then saves the A state=(true) of frame 125 to t, then set the A state to v |
126 | . | holding alt+shift and drawing into that row sets the A state of frame 125 from t=(true), then saves the A state=(false) of frame 126 to t, then set the A state to v |
127 | A | holding alt+shift and drawing into that row sets the A state of frame 126 from t=(false), then saves the A state=(true) of frame 127 to t, then set the A state to v |
128 | A | holding alt+shift and drawing into that row sets the A state of frame 127 from t=(true), then saves the A state=(true) of frame 128 to t, then set the A state to v |
There should be a "hole" dragged.
Almost done:
-
Save copied inputs into macro storage (game specific)hotkey for selected macros.
Done:
- Save greenzone in branches.
- Save earlier greenzones to HDD. Every 256 frames.
- Branches
- Unbounded memory capacity in x64 mode.
- Update window after turbo seeking is finished
TASeditor: Not my list below, but strike out means implemented.
Next Release
-
Un-beta -
support more cores -
Fix Horizontal view (need vertical string method for GDIRenderer) and turn it on for non-developer builds -
rerecord logic
Maybe
-
Add a "New Project from Savestate" menu item, only allow movie savestates!
-
setting visible frame will use the last savestated frame rather than the "current" which in situations like n64 can cause it to scroll up to the last stated frame then back down again, when the frame clicked and hte restore frame were both visible to begin with,
To do this, we need to track the "previous frame", which is not the pause on frame, and not the goto frame
-
n64 - shows the fake analog UDRL (and calls them that, so even more confusing with the digital ones)
wonderswan is weird so it looks weird
Eventually
-
basic analog support (double click to edit, input painting otherwise) - show total frame count and time somewhere
-
scrolling up sets the navigation frame to the bottom, fceux would be at the top instead - Copy/Paste for Marker list
- Clever greenzone management (what does fceux do?)
- alt-click
- individual cell highlighting
tastudio long term:
-
grouping by controller, including separator line, and different colors -
savestate anchored movies ...test and stuff -
create savestate-anchored movie from an existing movie feature -
analog support -
bookmarks and branches - individual cell highlighting support
<jdpurcell> using NesHawk with one of the controllers configured as a zapper, if you then open TAStudio and it has the one blue line with frame #0, if you click on the value in the zapX or zapY column it throws a nullreferenceexception