Перейти к содержимому

Импорт игр

Spark поддерживает несколько способов импорта игр Ren’Py на ваше устройство iOS.

  • ZIP (.zip) — Наиболее распространённый
  • APK (.apk) — Пакеты Android
  • 7-Zip (.7z) — Высокая степень сжатия
  • RAR (.rar) — Поддержка устаревшего формата
  • TAR (.tar) — Несжатые архивы
  • Gzip (.gz) — TAR-архивы, сжатые Gzip
  • BZ2 (.bz2) — TAR-архивы, сжатые Bzip2
  • IPA (.ipa) — Архивы приложений iOS
  • APP (.app) — Пакеты приложений
  1. Откройте Spark и нажмите кнопку Импорт в библиотеке
  2. Перейдите к архиву с игрой с помощью системного выбора файлов
  3. Выберите файл и дождитесь завершения извлечения

1. Предварительное сканирование и проверка

Заголовок раздела «1. Предварительное сканирование и проверка»

Spark проверяет архив перед извлечением:

  • Вычисляет размер в распакованном виде для проверки наличия свободного места
  • Определяет, защищён ли архив паролем, и при необходимости запрашивает ввод пароля
  • Сканирует содержимое архива для поиска папки game/

Если внутри архива найдено несколько папок с играми, вам будет предложено выбрать, какую из них импортировать.

Архив извлекается во временный промежуточный каталог. Spark контролирует дисковое пространство во время извлечения и остановится, если хранилище станет критически мало. Папки артефактов macOS (__MACOSX) автоматически удаляются.

Для дважды упакованных APK файлов (ZIP, содержащий APK внутри) Spark определяет это и автоматически извлекает оба уровня.

После извлечения Spark организует файлы в конечный каталог игры:

  • Папка игры — Папка game/, содержащая скрипты, ресурсы и архивы, перемещается в конечное расположение
  • Название игры — Определяется из android.json (импорт APK), файла .py рядом с папкой игры или имени файла архива как запасной вариант
  • Уникальное именование — Если игра с таким именем уже существует, добавляется числовой суффикс

Spark ищет в извлечённых файлах встроенную папку движка Ren’Py (renpy/). Если найдена:

  • Движок сохраняется в каталог advanced/renpy/ игры для использования с Advanced Mode
  • Версия Ren’Py считывается из файлов версии внутри папки движка (например, vc_version.py, __init__.py, script_version.txt или их скомпилированных эквивалентов)
  • Определённая версия сохраняется в метаданных игры для подбора движка
  • Для импорта APK Android извлекается встроенный файл (private.mp3) для восстановления движка и определения версии Python
  • Пользовательские шрифты — Если встроенный движок игры содержит изменённые шрифты (отличающиеся от шрифтов Ren’Py по умолчанию), они копируются в папку игры для использования во время выполнения
  • Поддержка Live2D — Архив сканируется на наличие библиотек Live2D. Если найдены, создаётся маркер, чтобы Spark загружал фреймворк Live2D при запуске игры
  • Создаётся файл info.json с названием игры, определённой версией движка, именем исходного архива и временной меткой импорта
  • Промежуточные каталоги очищаются, временные файлы удаляются
  • Библиотека игр обновляется, и новая игра появляется в вашей библиотеке
  • Извлечение больших игр (1 ГБ+) может занять некоторое время
  • Некоторые форматы архивов, такие как 7z, могут извлекаться очень долго, если архив содержит тысячи отдельных файлов. Игры в идеале должны быть упакованы с использованием архивов .rpa или аналогичных консолидированных форматов. Некоторые библиотеки извлечения не оптимизированы для таких сценариев
  • Если игра появилась, но не запускается, попробуйте изменить версию движка в настройках игры
  • APK файлы могут быть скрыты фильтром файлов — отключите его в Settings > Game Library