Реализация

Parent Previous Next

Реализация



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

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

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)


inputlog.cpp

InputLog – Журнал Ввода (Log of Input)


laglog.cpp

LagLog – :Журнал лага (Log og Lag appearance)


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