Implementation

Parent Previous Next

Implementation



At first the TAS Editor was based on the codebase of experimental tool named TASEdit, using FCEUX 2.1.5 as a kick-start.

The premise of TASEdit was to build an input editor (like TAS Movie Editor) into emulator, so that the delay between editing and checking results would greatly shrink. Since there was no research done on typical behaviors in TASing process, the concept was vague and the code wasn't scalable. Thus, soon after formulating the new vision of the editing tool the code of TAS Editor was fully rewritten to make adding new features easier.

The following architecture of TAS Editor was designed according to author's notion of a methodical TASing and of features needed for such TASing.




TAS Editor modules (classes)


taseditor.cpp

Main – Main gate between emulator and Taseditor

[singleton]


taseditor_window.cpp

Window – User Interface

[singleton]


bookmarks.cpp

Bookmarks – Manager of Bookmarks

[singleton]


branches.cpp

Branches – Manager of Branches

[singleton]


bookmark.cpp

Bookmark – Single Bookmark data


snapshot.cpp

Snapshot – Snapshot of all edited data


inputlog.cpp

InputLog – Log of Input


laglog.cpp

LagLog – Log of Lag occurrence


markers.cpp

Markers – Snapshot of Markers state


popup_display.cpp

Popup display – Manager of popup windows

[singleton]


history.cpp

History – History of movie modifications

[singleton]


piano_roll.cpp

Piano Roll – Piano Roll interface

[singleton]


selection.cpp

Selection – Manager of selections

[singleton]


editor.cpp

Editor – Tool for editing

[singleton]


splicer.cpp

Splicer – Tool for montage

[singleton]


taseditor_config.cpp

Config – Current settings

[singleton]


playback.cpp

Playback – Player of emulation states

[singleton]


greenzone.cpp

Greenzone – Access zone

[singleton]


recorder.cpp

Recorder – Tool for input recording

[singleton]


markers_manager.cpp

Markers_manager – Manager of Markers

[singleton]


taseditor_lua.cpp

Lua – Manager of Lua features

[singleton]


taseditor_project.cpp

Project – Manager of working project

[singleton]




Emulator modifications



Taseditor needs the following modifications to be applied to an emulator code.


Main/Window:


Movie:


Input:


Output:


SaveStates:


Config:


Lua engine:


Replay:


Other:






Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation