TheXTech/ru
TheXTech | |
---|---|
Платформы: | Windows, Linux, macOS, Haiku, Emscripten, Android |
Первый выпуск: | 14 марта 2020 г. (версия 1.3.1) |
Последняя версия: | 1.3.5.3 (30 декабря 2021) |
Написано на: | C++ |
Модель кода: | Открытый код |
Лицензия: | GPLv3[1] (с 1.3.5.2) MIT (до 1.3.5.1) |
Статус: | Актуально |
Загрузить: | TheXTech |
Исходный код: | GitHub |
TheXTech - Это движок игр-платформеров, написанный на C++. Является полным портом исходного кода SMBX 1.3, который был написан на Visual Basic 6. Создан российским разработчиком Wohlstand за один месяц после того, как были открыты исходники SMBX. У проекта есть две цели: предоставить свободную с открытым кодом, кросс-платформенную и максимально точную реализацию движка SMBX, которая позволит играть в старые уровни и эпизоды, созданные для оригинальной игры, реализуя поведение идентичное оригинальной игре; получение более удобной исследовательской модели для разработки движка Moondust.
Различия между оригинальной игрой
В то время, как игра является точным портом оригинальной игры, у неё имеются отличия и расширения:
- Первым делом, эта игра написана на C++, пока оригинальная игра (как мы уже знаем), написана на VB6.
- Не имеет редактора. Вместо этого, начиная с версии 1.3.2, имеет тесную интеграцию с редактором из набора Moondust Project, что позволяет использовать его с теми же возможностями, что и оригинальный редактор (сохранена функциональность "волшебной руки", чтобы сохранить возможность редактирования в реальном времени, во время тестирования уровня. Для этого необходима поддержка межпроцессорного взаимодействия с Moondust-редактором).
- Полная поддержка UTF-8 в именах файлов и во внутренних текстовых данных (оригинальная игра поддерживала лишь 8-битные ANSI-кодировки).
- Игра использует библиотеку SDL2 для отрисовки и управления, в то время как оригинальная игра использует WinAPI и GDI.
- В этой игре используется библиотека PGE-FL с улучшенной поддержкой форматов файлов (уровни, карты мира, сохранения).
- Поддержка карт мира WLDX, которые поддерживают неограниченное число строк титров, а также собственная музыка без необходимости использовать файл music.ini.
- Работают некоторые эксклюзивные возможности LVLX: вертикальный перенос в секциях, двунаправленные проходы, можно заменить сообщение "нужны звёзды" на что-то своё, событие на вход в проход, возможность отключить отображение числа звёзд на определённых дверях, возможность отключить промежуточный экран при проходе на другой уровень через проход.
- Встроенная поддержка music.ini и sounds.ini для эпизодов и уровней, чтобы можно было подменять встроенную музыку и звуковые эффекты.
- Карты мира теперь поддерживат собственную папку, чтобы можно было складывать любые специфичные ресурсы (например, ландшафт, декорации, пути, точки уровней), и больше не засорять корень эпизода ресурсами самой карты мира.
- Файл настроек игры теперь в формате INI. Старый конфиг config.dat больше не поддерживается, первым делом из-за несовместимости кодов клавиш (SDL_Scancode против VirtualKeys в WinAPI).
- Сохранения игры отныне используют формат SAVX вместо классического SAV. Однако, сохранена возможность возобновить игру в эпизод, начатую на старом движке, сразу на новом движке (дальнейшая попытка сохранить игру создаст новый SAVX-файл, старый SAV-файл останется нетронутым).
- Встроенная поддерка PNG для пользовательской и стандартной графики. Масочные GIFы всё ещё поддерживаются для обратной совместимости, однако, без попыток автоматические преобразовать все файлы, как это обычно делает SMBX-38A.
- Контрольные точки теперь можно ставить по несколько раз на одном уровне, без ограничений! (в старой игре можно было поставить только одну)
- Чтобы ускорить загрузку игры и уменьшить пртребление памяти, игра использует алгоритм ленивой распаковки.
- Игра использует библиотеку MixerX для музыки и звуковых эффектов, которая предоставляет большой спектр поддерживаемых форматов файлов.
- Встроенная графика превращена во внешнюю: здесь больше нет истинно встроенной графики, отныне теперь всё представлено в виде внешних файлов ресурсов!
- Были увеличены некоторые встроенные лимиты.
- Встроенный GIF-рекордер, который можно активировать и остановить по клавише F11 (на macOS это F10, потому что клавиша F11 зарезервирована системой, и используется для фичи "показать рабочий стол").
- Начиная с 1.3.2: Поддерживает больше 21 секций (максимум 201).
- Начиная с 1.3.2: Было убрано ограничение на 20 слоёв в полях "показать/скрыть/переключить" в событиях.
- Начиная с 1.3.2.3: Можно заменить музыку во время титров.
- Начиная с 1.3.3: Удар об землю Пурпурного Йоши можно пересадить с клавиши Вниз на клавишу Альт-Бег, добавив строчку
ground-pound-by-alt-run = true
в файл settings/thextech.ini, чтобы исключить случайные "смерти" из-за попытки пригнуться во время прыжка. - Начиная с 1.3.3: Поддерживаются калибровки игровых персонажей, чтобы можно было модифицировать смещения хитбоксов и метрику игровых персонажей.
- Начиная с 1.3.4: Поддерживаются файлы compat.ini, которые позволяют настроить совместимость игры для уровней и эпизодов, включая или выключая определённые исправления багов и фич игры.
- Начиная с 1.3.5: Имеется возможность управлять сохранениями игры напрямую из меню игры.
- Начиная с 1.3.5.2: Поддерживаются трубы-пушки.
- Начиная с 1.3.5.2: Портальные проходы позволяют игрокам ходить между уровнями.
- Начиная с 1.3.5.2: Езда на Йоши переключает бонго-дорожку в SMW-музыке (Также, эту возможность можно использовать с другими чиптюнами или трекерной музыкой, если указать номер канала/дорожки для Йоши-режима).
История версий
Разработка TheXTech началась через неделю после публикации исходных кодов SMBX. Версионирование начинается с 1.3, тем самым продолжая историю оригинального SMBX в новом виде.
Версия | Дата выпуска | Описание | Ссылка | |||
---|---|---|---|---|---|---|
1.3 | 1 мая 2021 | Первая работоспособная версия, собранная 23 февраля 2020го года. Работы были начаты примерно 9 или 10го февраля 2020го года, через неделю после того, как были выпущенны и изучены оригинальные исходники SMBX-игры (2 февраля 2020го года). Игра работала, но с кучей ошибок. Позже, игра была доработана и улучшена в подготовке к выпуску 1.3.1. Движок разрабатывался тайно, чтобы представить сообществу неожиданный сюрприз. Годом спустя, в мае 2021го года, сборка была опубликована для истории. | v1.3 | |||
1.3.1 | 14 марта 2020 | Первая публичная версия. | v1.3.1 | |||
1.3.2 | 26 апреля 2020 | В этой версии исправлены некоторые баги и представлены незначительные улучшения. Начиная с этой версии, поддерживается полная интеграция с PGE-Редактором, которая позволяет запускать из редактора тест уровней с помощью TheXTech напрямую. | v1.3.2 | |||
1.3.2.1 | 12 июля 2020 | В этой версии исправлены баги, касаемые программной отрисовки, расширена поддержка джойстиков, а также добавлен костыль для регистро-зависимых файловых систем, чтобы устранить глюки из-за незагруженной графики в UNIX-подобных операционных системах. | v.1.3.2.1 | |||
1.3.2.2 | 18 июля 2020 | В этом обновлении исправлены неправильные размеры модифицированных эффектов: эффекты должны поддерживать любой размер графики, но только при условии, что они содержат столько же кадров, сколько и оригинал. | v.1.3.2.2 | |||
1.3.2.3 | 30 июля 2020 | Это обновление исправляет падение, вызванное некоторыми модифицированными эффектами, а также устраняет невозможность адекватно ловить овощи на лету. | v.1.3.2.3 | |||
1.3.2.4 | 30 ноября 2020 | Добаляет возможность устанавливать свою музыку в финальной завставке (уровень "outro") (Если музыка не назначена, будет использована системная мелодия по умолчанию). Это обновление также устраняет невозможность иметь больше 100 эпизодов и уровней битвы в общей игре. Также, исправлены незначительные глюки обработки графики. | v.1.3.2.4 | |||
1.3.3 | 19 декабря 2020 | В этом обновлении добавлены некоторые новые фичи, например, "gameinfo.ini", чтобы частично изменить некоторые встроенные надписи, а также добавить свой блок титров; встроенная поддержка калибровочных файлов игровых персонажей; добавлена возможность модифицировать NPC, поместив npc-*.txt прямо в папку graphics/npc, или же калибровку игрового персонажа, поместив соответствующий ini-файл в папку graphics/mario,luigi,peach,toad,link; а также ещё некоторые вещи. | v.1.3.3 | |||
1.3.3.1 | 2 января 2021 | В этом обновлении исправлено два бага и добавлена экспериментальная поддержка Windows ARM64 и macOS на процессоре Apple Silicon. | v.1.3.3.1 | |||
1.3.4 | 12 февраля 2021 | В этом обновлении исправлено несколько "ванильных" багов старой игры, а также добавлена поддержка файла "compat.ini", который позволяет включить определённые баги обратно, если они необходимы для прохождения некоторых уровней или эпизодов. В этой версии также исправлена надоедливая проблема пропуска кадров, а также дизориентирующая игроков проблема быстрой перемоки, возникающей из-за тормозов компьютера. Добавлена система для любителей скоростных прохождений, которая позволит отобразить секундомер, а также откалибровать совместимость, необходимую для честного скоростного прохождения эпизодов SMBX. Данная версия является минимальной разрешённой для скоростных прохождений SMBX-эпиходов. | v.1.3.4 | |||
1.3.5 | 5 мая 2021 | В этой версии представлено множество усовершенствований, таких как переработка поддержки игровых контроллеров, больше исправленных "ванильных" багов, добавление поддержки копирования и удаления сохранений игры напрямую из меню игры. Это первая версия, поддерживающая платформу Android. Все сборки под macOS теперь универсальные (будут работать как на x86_64, так и на arm64). | v.1.3.5 | |||
1.3.5.1 | 2 июня 2021 | В этой версии исправлено несколько мелких багов и регрессии, а также было реализовано немного улучшений: Пункт меню "Сохранить и продолжить" будет играть звук контрольной точки; Исправление работы автопрокрутки было выключено по умолчанию, чтобы предотвратить возможные глюки из-за некоторых старых уровней, содержащих некорректные настройки; С помощью файла "gameinfo.ini" теперь можно менять поведение на главной сцене; и т.д. | v.1.3.5.1 | |||
1.3.5.2 | 19 октября 2021 | В этой версии, помимо исправления багов (включая значительные исправления режима спидраннера), представлен небольшой набор новых возможностей: поддержка труб-пушек; портальные проходы позволяют ходить между уровнями; езда на Йоши переключает бонго-дорожку в SMW-музыке, и т.п. Начиная с этой версии, проект имеет лицензию GPLv3. | v.1.3.5.2 | |||
1.3.5.3 | 30 декабря 2021 | В этой версии исправлено множество ошибок предыдущей версии, а также представлено небольшое число нововведений: Список эпизодов отныте сортируется в алфавитном порядке, поддержка плавных переходов между уровней и между проходами. и т.п. | v.1.3.5.3 | |||
1.3.6 | - | - | Автосборки | |||
Легенда: ■ Старая версия ■ Текущая версия ■ Разрабатываемая версия |
Чит-коды
TheXTech поддерживает все читы что и SMBX 1.3, с небольшим добавление альтернативных кодов. Все коды с "y" (например, "moneytree") будет иметь альтернативу, где все 'y' заменены на 'z' (например, "moneztree"), что обеспечивает совместимость с немецкими клавиатурами QWERTZ.
Вторичные коды
Изначальный код | Альтернативные коды |
---|---|
illparkwhereiwant | parkinglot |
imtiredofallthiswalking | moonwalk, skywalk, skzwalk |
itsamemario | plumberboy, plumberboz, moustacheman |
itsameluigi | greenmario |
ibakedacakeforyou | itsamepeach |
anothercastle | itsametoad |
iamerror | itsamelink |
burnthehousedown | hellfire |
stophittingme | uncle |
donthurtme | godmode |
ahippinandahoppin | jumpman |
Укороченные коды
Изначальный код | Альтернативные коды |
---|---|
needaniceflower | niceflower |
needaredshoe | redshoe |
needablueshoe | blueshoe |
wherearemycarkeys | carkeys, carkezs |
sonicstooslow | tooslow |
Совместимость с QWERTZ
Изначальный код | Альтернативные коды |
---|---|
moneytree | moneztree |
fairymagic | fairzmagic |
istillplaywithlegos | istillplazwithlegos |
donttypethis | donttzpethis |
needayellowshell | needazellowshell |
boingyboing | boingzboing |
hammerinmypants | hammerinmzpants |
yellowegg | zellowegg |
stickyfingers | stickzfingers |
Сборка игры
Чтобы собрать игру, нужно следовать указанным инструкциям на GitHub-страницах:
- Сборка на Windows
- Сборка на Linux и xBSD
- Сборка на macOS
- Сборка на Haiku
- Сборка под Emscripten
- Сборка под Android
Подмена стандартных ресурсов
Пока что, TheXTech не поддерживает индивидуальные под-папки "graphics" в каждом эпизоде по аналогии с SMBX2. Существуют эпизоды с собственным набором ресурсов, полностью или частично подменяющих стандартные (например, "Yoshi's Archipelago" или "Super Talking Time Bros."). Чтобы они заработали, необходимо адаптировать их для игры на TheXTech[2]:
Данная инструкция поможет преобразовать упакованную игру в формат совместимый с TheXTech. В то время как TheXTech позволяет играть старые эпизоды как есть, без каких либо преобразований, упакованные игры требуют преобразовать полный комплект стантартной графики (всё, что находится в под-папке "graphics") в PNG. Также, значимые внедрённые графические ресурсы будут автоматически извлечены и преобразованы в совместимый формат.
- Загрузите архив с набором преобразования и смешайте его содержимое с корнем упакованной игры
- Убедитесь, что старый исполняемый файл игры назван "smbx.exe" (или "asmbxt.exe" / "a2mbxt.exe"), иначе вы не сможете преобразовать встроенные ресурсы в совместимый формат.
- В зависимости от операционной системы, запустите скрипт преобразования в терминале (или командной строке):
- На Windows нужно запустить скрипт gfx-convert-win.cmd.
- На Linux нужно выполнить команду bash gfx-convert-lin.sh.
- Скрипт спросит, удалять ли старые GIFы после преобразования, либо же сохранить их? Нажмите Y, чтобы удалить все старые GIFы по завершении преобразования. Как только преобразование завершится, будет отображено сообщение о завершении процесса.
- Найдите секцию "plain runtime" на странице загруки и загрузите совместимую с вашей платформой версию. Возьмите исполняемый файл (thextech в Linux-архивах или thextech.exe и все DLL-файлы в Windows-архивах), и положите их в папку с игрой.
- Попробуйте запустить приложение "thextech", игра должна заработать.
- Опционально, поправьте файл "gameinfo.ini" и поменяйти в нём название игры и имена игровых персонажей, если это нужно для игры.
Замечания
- TheXTech, в отличии от оригинального SMBX, не содержит истинно встроенных графических ресурсов, все ранее встроенные ресурсы теперь располагаются в папке graphics/ui.
Запланированные возможности
Улучшение поддержки контроллеров.[3] Иначе пока что, в качестве костыля, нужно использовать antimicro или xboxdrv.Реализовано начиная с версии 1.3.5.- Сделать возможным использование удара об землю Пурпурого Йоши остальными Йоши, взявшими в рот жёлтый панцирь.[4]
Копирование и удаление сохранений игр с начального экрана.[5] Реализовано начиная с версии 1.3.5.
Смотрите также
Примечания
Ссылки
- Официальное обсуждение на форуме
- Первый анонс
- Видеодемонстрация
- Статья Wohlstand-а с объяснением технических деталей (по-русски)
Super Mario Bros. X |
---|
Super Mario Bros. X • Стандарт SMBX64 • LunaLua
Продолжения: Основанные на оригинальном коде: Ремейки: Дальнейшее чтение: История SMBX • Сравнение редакторов • Ветки Super Mario Bros. X |