TheXTech/ru

From Moondust Wiki
Jump to navigation Jump to search
English Русский 中文 Español Deutsch
TheXTech

Thextech 128.png

TheXTech-gameplay.png
Окно игры

Разработчик:
Платформы: Windows, Linux, macOS, Haiku, Emscripten, Android
Первый выпуск: 14 марта 2020 г. (версия 1.3.1)
Последняя версия: 1.3.5.2 (19 октября 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 / 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-страницах:

Подмена стандартных ресурсов

Пока что, TheXTech не поддерживает индивидуальные под-папки "graphics" в каждом эпизоде по аналогии с SMBX2. Существуют эпизоды с собственным набором ресурсов, полностью или частично подменяющих стандартные (например, "Yoshi's Archipelago" или "Super Talking Time Bros."). Чтобы они заработали, необходимо адаптировать их для игры на TheXTech[2]:

Данная инструкция поможет преобразовать упакованную игру в формат совместимый с TheXTech. В то время как TheXTech позволяет играть старые эпизоды как есть, без каких либо преобразований, упакованные игры требуют преобразовать полный комплект стантартной графики (всё, что находится в под-папке "graphics") в PNG. Также, значимые внедрённые графические ресурсы будут автоматически извлечены и преобразованы в совместимый формат.

  1. Загрузите архив с набором преобразования и смешайте его содержимое с корнем упакованной игры
  2. Убедитесь, что старый исполняемый файл игры назван "smbx.exe" (или "asmbxt.exe" / "a2mbxt.exe"), иначе вы не сможете преобразовать встроенные ресурсы в совместимый формат.
  3. В зависимости от операционной системы, запустите скрипт преобразования в терминале (или командной строке):
    1. На Windows нужно запустить скрипт gfx-convert-win.cmd.
    2. На Linux нужно выполнить команду bash gfx-convert-lin.sh.
  4. Скрипт спросит, удалять ли старые GIFы после преобразования, либо же сохранить их? Нажмите Y, чтобы удалить все старые GIFы по завершении преобразования. Как только преобразование завершится, будет отображено сообщение о завершении процесса.
  5. Найдите секцию "plain runtime" на странице загруки и загрузите совместимую с вашей платформой версию. Возьмите исполняемый файл (thextech в Linux-архивах или thextech.exe и все DLL-файлы в Windows-архивах), и положите их в папку с игрой.
  6. Попробуйте запустить приложение "thextech", игра должна заработать.
  7. Опционально, поправьте файл "gameinfo.ini" и поменяйти в нём название игры и имена игровых персонажей, если это нужно для игры.

Замечания

  • TheXTech, в отличии от оригинального SMBX, не содержит истинно встроенных графических ресурсов, все ранее встроенные ресурсы теперь располагаются в папке graphics/ui.

Запланированные возможности

  • Улучшение поддержки контроллеров.[3] Иначе пока что, в качестве костыля, нужно использовать antimicro или xboxdrv. Реализовано начиная с версии 1.3.5.
  • Сделать возможным использование удара об землю Пурпурого Йоши остальными Йоши, взявшими в рот жёлтый панцирь.[4]
  • Копирование и удаление сохранений игр с начального экрана.[5] Реализовано начиная с версии 1.3.5.

Смотрите также

Примечания

Ссылки

Super Mario Bros. X