Домой Софт macOS и Linux 3D Movie Maker портирован на Linux: классика 90-х получила вторую жизнь

3D Movie Maker портирован на Linux: классика 90-х получила вторую жизнь

Культовый редактор 1995 года теперь работает в среде Linux благодаря усилиям сообщества и открытому исходному коду от Microsoft.

3D Movie Maker портирован на Linux: классика 90-х получила вторую жизнь
3D Movie Maker портирован на Linux: классика 90-х получила вторую жизнь — иллюстрация к материалу. Источник: linux.org.ru

Разработчики проекта 3DMMEx сообщили об успешном портировании классического редактора Microsoft 3D Movie Maker на Linux. Теперь программа способна работать в нативной среде, не прибегая к помощи слоя совместимости Wine или виртуальных машин. О достижении важного этапа рассказал Бен Стоун, ведущий автор 3DMMEx. Согласно публикации от 9 мая 2026 года, текущая сборка делает 3DMMEx первым ответвлением легендарного ПО, функционирующим вне привычной среды Windows.

Напомним, что Microsoft 3D Movie Maker — это популярная в 1995 году детская программа, позволявшая создавать простые трехмерные мультфильмы. Пользователи могли выстраивать сцены, размещать персонажей, настраивать их анимацию, а также добавлять звуковые эффекты, диалоги и фоновую музыку. Проект долгое время оставался закрытым, пока в мае 2022 года Microsoft не опубликовала исходный код приложения под лицензией MIT.

Открытие кода спровоцировало волну энтузиазма. Изначально сообщество сфокусировалось на проекте 3DMMForever, целью которого была модернизация процесса сборки. Позже, когда активность в рамках этого направления угасла, Бен Стоун инициировал проект 3DMMEx. Основная задача команды — сохранить дух оригинала, одновременно обеспечив совместимость с современными вычислительными платформами.

Технические сложности портирования

Адаптация кода потребовала глубокой переработки архитектуры, так как оригинал 1995 года был жестко привязан к 32-битным Windows-специфичным подсистемам, включая Win32 API, старый диалект C++ и встроенный ассемблер x86.

Основные этапы работы

  • Переход на SDL: Внутренний каркас Kauai, на котором строилась работа приложения, был переведен на библиотеку SDL2. Это позволило корректно обрабатывать ввод, отрисовку окон и графику в Linux.
  • Отказ от ассемблера: Рукописные ассемблерные вставки, отвечавшие за операции с памятью и сжатие данных, были переписаны на C/C++. Это не только обеспечило кроссплатформенность, но и в ряде случаев повысило производительность за счет использования современных функций стандартной библиотеки.
  • Замена библиотек: Для корректной работы звука вместо устаревшей AudioMan был интегрирован современный модуль miniaudio. Поддержка MIDI и видеовставок была реализована через FluidSynth и GStreamer соответственно.
  • Адаптация под 64 бита: Разработчикам пришлось исправить логику работы с указателями и структурами данных, которые ранее жестко привязывались к 32-разрядной памяти, чтобы обеспечить стабильность на 64-битных системах x64 и ARM64.

Сейчас проект поддерживает компиляцию с использованием Visual Studio 2022, Clang и GCC. Для сборки в Linux требуются такие компоненты, как CMake, Ninja, GTK3 и набор библиотек SDL2. Несмотря на то, что работа с мышью при перемещении объектов требует дополнительной полировки, функциональность порта уже позволяет полноценно использовать инструменты создания мультфильмов.

В ближайших планах разработчиков — выпуск готовых бинарных пакетов для популярных дистрибутивов Linux, перенос на macOS и создание версии для запуска прямо в браузере через Emscripten. Успех 3DMMEx доказывает, что открытые лицензии могут вдохнуть вторую жизнь в классическое ПО, превращая исторические артефакты в актуальные инструменты.

Источник: https://www.linux.org.ru