Реализация

Parent Previous Next

Реализация



Первоначально TAS Editor базировался на коде экспериментального инструмента TASEdit из FCEUX 2.1.5.

TASEdit представлял из себя редактор Ввода (в духе TAS Movie Editor), встроенный в эмулятор, чтобы сократить время между редактированием и просмотром участков. Так как при разработке TASEdit не проводилось исследование принципов и закономерностей ТАСинга, у авторов TASEdit не было чёткого видения финального инструмента, и имеющийся код не был расширяемым. Поэтому вскоре после начала разработки TAS Editor его код был полностью переписан, чтобы облегчить дальнейшее расширение функционала.

Архитектура Тасэдитора спроектирована, исходя из авторских представлений о методическом ТАСинге и о необходимом функционале для облегчения такого ТАСинга.




Программные модули (классы)


taseditor.cpp

Main – главный шлюз между эмулятором и Тасэдитором (Main gate between emulator and Taseditor)

[единичный экземпляр]


taseditor_window.cpp

Window – пользовательский интерфейс (User Interface)

[единичный экземпляр]


bookmarks.cpp

Bookmarks – Менеджер Закладок (Manager of Bookmarks)

[единичный экземпляр]


branches.cpp

Branches – Менеджер Ответвлений (Manager of Branches)

[единичный экземпляр]


bookmark.cpp

Bookmark – данные одной Закладки (Single Bookmark data)


snapshot.cpp

Snapshot – Моментальный снимок всех редактируемых данных (Snapshot of all edited data)


markers.cpp

Markers – Моментальный снимок состояния маркеров (Snapshot of Markers state)


popup_display.cpp

Popup display – Менеджер всплывающих окон (Manager of popup windows)

[единичный экземпляр]


history.cpp

History – История изменений мувика (History of movie modifications)

[единичный экземпляр]


piano_roll.cpp

Piano Roll – интерфейс в виде перфоленты (Piano Roll interface)

[единичный экземпляр]


selection.cpp

Selection – Менеджер выделений (Manager of selections)

[единичный экземпляр]


editor.cpp

Editor – Инструмент для редактирования (Tool for editing)

[единичный экземпляр]


splicer.cpp

Splicer – Инструмент для монтажа (Tool for montage)

[единичный экземпляр]


taseditor_config.cpp

Config – текущая конфигурация (Current settings)

[единичный экземпляр]


playback.cpp

Playback – проигрыватель состояний эмулятора (Player of emulation states)

[единичный экземпляр]


greenzone.cpp

Greenzone – зона доступа (Access zone)

[единичный экземпляр]


recorder.cpp

Recorder – инструмент для записи Ввода (Tool for input recording)

[единичный экземпляр]


markers_manager.cpp

Markers_manager – Менеджер Маркеров (Manager of Markers)

[единичный экземпляр]


taseditor_lua.cpp

Lua – Менеджер возможностей Луа (Manager of Lua features)

[единичный экземпляр]


taseditor_project.cpp

Project – Менеджер рабочего проекта (Manager of working project)

[единичный экземпляр]




Модификация эмулятора



Тасэдитор требует внесения следующих модификаций в код самого эмулятора.


В модули Main/Window:


В модуль, ответственный за Movie:


В модуль, ответственный за Input:


В модуль, ответственный за Output:


В модуль, ответственный за SaveStates:


В модуль, ответственный за Config:


В модуль, ответственный за Lua engine:


В модуль, ответственный за Replay:


Остальное:






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