🛠️ Запускаем на Steam Deck: Crash Team Racing (1999)

Steam начал считать время в сторонних играх, а я и не заметил.
Steam начал считать время в сторонних играх, а я и не заметил.

А помните, было время, когда после успеха Mario Kart, а затем и Mario Kart 64, все начали делать свой маревокарт со своими персонажами? Не избежал это и Крэш Бандикут.

А вот сейчас наступило время вайбкодинга, и сейчас массово появляются сначала декомпиляции старых приставочных игр, а потом их рекомпиляции для компьютера. И появился CTR Native — вроде, даже без вайбкодинга.

ВНИМАНИЕ: игра в этот порт не даст никаких преимуществ в сравнении с эмуляцией обычной версии с PS1. Даже наоборот — не будет никаких улучшалок, доступных в эмуляторах. Низкое разрешение, дрожащие полигоны, картинка 4:3, 30 к/с — всё как в 1999 году. Если вы не любитель посмотреть на рекомпиляции, лучше не парьтесь и играйте, как раньше.

А если любитель, то качайте последнюю сборку (обновляется часто), берите оригинальный американский образ игры и читайте дальше. Важно: нужен обязательно формат bin, iso не подойдёт! Если у вас игра уже пережата в компактный chd, то можно раскукожить её обратно через программу chdman (входит в пакет mame-tools из репозиториев):

chdman extractcd -i 'Crash Team Racing [SCUS-94426].chd' -o 'Crash Team Racing [SCUS-94426].bin' -f

Вроде как можно переименовать образ в ctr-u.bin и положить в папку assets, но я предпочёл извлечь из него необходимые ресурсы. Ещё очень важно: не распаковывайте чем попало, так как диски PS1 отличаются по своей структуре данных от обычных компьютерных, и у вас будут проблемы с неправильно считанными и извлечёнными файлами, особенно звуковыми. Если на логотипах вы не слышите голос и маска не зачитывает подсказки, значит, с ассетами проблема, переделывайте. Возьмите программу mkpsxiso — вернее, тут две программы, и понадобится вторая, dumpsxiso. Она извлечёт всё из образа прямо в папку рядом с собой:

./dumpsxiso 'Crash Team Racing [SCUS-94426].bin'

Оттуда понадобится не всё, а только вот эти два файла и две папки со всем содержимым:

BIGFILE.BIG TEST.STR SOUNDS/ KART.HWL XA/ ENG.XNF ENG/EXTRA/S00.XA ... S05.XA ENG/GAME/S00.XA ... S20.XA MUSIC/S00.XA ... S01.XA

Альтернативный вариант: взять ctr-extractor, скрипт на питоне специально для CTR, который сам всё это сделает — но я его не пробовал. Ну, или просто скачайте готовые ассеты.

На обычном компьютере на этом всё, можно запускать и играть, разве что стартовать игра будет всегда в окне, из которого можно развернуть её на Alt+Enter. А закрывать придётся на Alt+F4. Я не нашёл, есть ли у игры конфигурационный файл, где можно что-то настроить. Видимо, его нет. А игровые сохранения будут лежать в папке memcards рядом с исполняемым файлом.

🛠️ Запускаем на Steam Deck: Crash Team Racing (1999)

Но на Steam Deck нужно ещё добавить ctr_native в библиотеку и выбрать в параметрах совместимости запуск через Steam Linux Runtime (я выбрал версию 4.0), иначе система будет ругаться на неподходящую библиотеку /usr/lib32/libc.so.6.

Теперь уже точно всё, из режима Big Picture игра сразу будет рисоваться на весь экран, раскладку управления настраивать не надо, а закрывать её можно через кнопку Steam.

2