предыдущий соответствующий вопрос от меня находится здесь Обратные разработки старых программ рисования
Я создал здесь свою базу операций: http://animatorpro.org wiki в ближайшее время.
Хорошо, теперь у меня есть базовая база данных MSDOS на 300 000 строк. Это своего рода "будьте осторожны, что вы хотите". Я не опытный программист С. Я тоже не совсем неопытен, но, во всех смыслах и задачах, я новичок в языке и, в частности, в тонкостях его библиотек. Я особенно не знаком с капризами различий между программами C, написанными специально для MSDOS, и программами, которые являются кросс-платформенными. Однако я изучаю эту базу кода уже более года, и это то, что я знаю об Animator Pro:
Используемые компиляторы и инструменты:
- Компилятор Watcom C
- tcmake (сделать программу из Turbo C)
- 386asm, специализированный ассемблер для расширителя Phar Lap dos
- и, конечно же, сам фанер Phar Lap dos.
- выбор неясных dos utilities
Большая часть компиляции, по-видимому, управляется пакетными файлами. Хотя я получил копии всех этих инструментов, мне еще не удалось его компилировать. (хотя я скомпилировал его старшего брата, оригинал оригинала autodesk.
Появилась плагиновая система, которая реплицирует DLL до того, как DLL будет доступна на основе REX. Система плагинов:
- Драйверы видео (с множеством включенных драйверов VESA)
- Входные драйверы (включая планшеты wacom и клавиатуры)
- Инструменты рисования
- Чернила (например, фильтры фотошоп или режимы наложения)
- Scripting Addons (по существу скомпилированные скрипты)
- Форматы файлов
У этого есть собственный интерпретатор script с именем POCO, основанный на языке C. Язык сценариев обладает достаточной мощностью, чтобы делать практически все, что может сделать система плагинов. Еще медленнее.
Учитывая эту информацию, это мой план развития. Пожалуйста, критикуйте это. Исходный код доступен по ссылке выше, поэтому вы можете легко, если вы так склонны, сами оценить ситуацию.
- Скомпилируйте свои оригинальные инструменты.
- Переключитесь на использование DJGPP и внесите необходимые изменения, чтобы скомпилировать его, а также оригинальный ассемблер.
- Включите библиотеку "Игра" Allegro.cc и переключите как можно больше функций в эту библиотеку. Возможно, просто создав новые видео и драйверы ввода, которые используют API Allegro. Я думаю, что аллегро, а не SDL, потому что: есть версия DOS от Allegro, и увлекательно одна из ее основных функций - это способность играть в формат FLIC Animator Pro.
- Мы надеемся, что после 3-х годов я удалю большинство или всех ассемблеров в проекте. Я надеюсь, потому что это на неясном диалекте, который не собирается в любом современном свободном ассемблере без существенных изменений. Я попробовал их все. Все, что осталось, преобразуется для сборки в NASM или в код C, если я могу определить фактическую функцию ассемблера.
- Переключите расширитель dos из Phar Lap в HX Dos http://www.japheth.de/HX.html, который promises реплицирует столько же WIN32 api, сколько возможное. Затем сделайте все необходимые изменения кода для этого.
- Переключитесь на версию win32 версии Allegro.cc, предполагая, что версия win32 может работать поверх HXDos. Внесите необходимые изменения.
- Измените систему плагинов, чтобы использовать какую-то стандартную библиотеку плагинов для кросс-платформенных платформ. Что бы это было, я понятия не имею. Может быть, вы можете предложить некоторые предложения? Я поговорил с разработчиком, который изначально написал систему плагинов, и он сказал, что некоторые из вещей, которые он делает, невозможно в современной ОС из-за ограничений сегментации. Я не уверен, что это значит, но я предполагаю, что это означает, что все плагины нужно будет переписать почти с нуля.
- Магически, я сделал все вышеописанное, и мы можем попытаться запустить его в windows, osx и linux, в то же время имея дело с другими кросс-платформенными приключениями, такими как длинные имена файлов, и вещи, о которых я не думал.
У кого-то возникла проблема с этим? Является ли аллегро хорошим выбором? если нет, то почему? что бы вы сделали с этой плагиновой системой? Что бы вы сделали по-другому? Это все глупо, и я должен просто переписать его с нуля, используя оригинал как стремление? (для этого, по-видимому, потребуется первоначальный разработчик "Примерно через месяц" )
Одна вещь, которую я не рассмотрел выше, - это система текста/шрифта. Не уверен, что с этим делать, но Animator Pro имеет свой собственный формат шрифта, но также может использовать шрифты Postscript Type 1 и некоторые другие форматы.