Tyranor-Next README

The project's README from github.com/Weiss-UltimateSavior/Tyranor-Next. As one markdown file: README.md.

Tyranor Next

Tyranor Next

基于 Tyranor 模拟器逆向重写的多引擎视觉小说(Galgame)聚合启动器,面向 Android 平台。内置 Kirikiri / ONScripter / Tyrano / Artemis 四套引擎运行环境,并支持 Ren'Py、RPG Maker RGSS 外置 APK 引擎模块,可识别和启动多类游戏,提供游戏库管理、封面获取、存档镜像、引擎参数调节等一体化体验。

主打轻便、简单、快捷,不引入其他冗余功能的简约设计思路

企鹅群:364439133

感谢 @安音 为本项目绘画的logo娘!

支持范围

引擎与游戏类型

游戏类型 典型识别特征 运行环境
Kirikiri / Kirikiri2 .xp3、startup.tjs Kirikiroid2 / krkrsdl3 原生运行时
ONScripter nscript.dat、.nsa ONScripter 原生运行时
Artemis system.ini、.pfs Artemis 原生运行时
TyranoBuilder index.html、tyrano/ 内置 Tyrano Web 运行环境
RPG Maker XP .rgssad、Game.ini + Data/*.rxdata 外置 RPGM APK 模块
RPG Maker VX .rgss2a、Game.ini + Data/*.rvdata 外置 RPGM APK 模块
RPG Maker VX Ace .rgss3a、Game.ini + Data/*.rvdata2 外置 RPGM APK 模块
mkxp-z 用户选择/内部别名 internal.mkxp-z 外置 RPGM APK 模块
RPG Maker MV www/、js/rpg_core.js 内置 Web 运行环境
RPG Maker MZ www/、js/rmmz_core.js 内置 Web 运行环境
VN globalData.vndata 内置 Web 运行环境
WebOther 通用 index.html 网页游戏 内置 Web 运行环境
Ren'Py .rpa、game/script.rpy、game/options.rpy、renpy/ + .rpy/.rpyc 外置 RenPy APK 模块

内置 Web 运行环境同时支持部分以 app.asar 打包的 NW.js 游戏;启动时会根据归档内容进一步识别具体类型。 Ren'Py 与 RPG Maker XP/VX/VX Ace/mkxp-z 当前通过外置 APK 模块运行:Ren'Py 支持 8.5 / 7.7.1 版本,可在全局或单游戏设置中选择引擎版本;自动模式会读取 Ren'Py script_version 与 Python2 运行库特征,在 8.5 / 7.7.1 模块间匹配。主 App 默认启用该能力,仅在引擎页检查目标模块是否已安装;未安装时引擎 item 显示打叉并提示下载安装。RPG Maker MV/MZ 属于 Web runtime,继续使用内置 Web 运行环境。

平台与文件要求

参与贡献

欢迎参与项目开发与维护!

在提交 Pull Request 前,请先阅读务必阅读遵守 贡献指南。 如果不符合贡献指南的要求,可能会被拒绝合并。 代码务必符合项目整体风格,避免引入新的问题。 提交前请务必使用项目内AGENT.md文件内的审核方式进行提交前审核。 如果代码一眼丁真,一定拒绝合并。

技术架构

模块划分

模块 职责
app Android 应用壳:Compose UI、功能抽象层、配置、封面、存档、授权、后台更新等应用侧能力
engine 底层引擎运行时核心:SDL2/SDL3、Kirikiri TVP、krkrsdl3、ONScripter、Artemis、Tyrano、Native/JNI 与引擎宿主 Activity

三层目录架构

当前项目按职责归类为三层,依赖方向固定为:

界面 UI 交互层 -> 功能抽象层 -> 底层引擎层
层级 目录 职责
底层引擎层 engine/ KRKR/Kirikiroid、krkrsdl3、ONS、Artemis、Tyrano、SDL/Cocos/IJK、Native/JNI、引擎宿主 Activity、引擎资源与 Native 插件底层加载
功能抽象层 app/src/main/java/com/tyranor/next/core/ 游戏扫描、游戏模型、启动编排、封面抓取、存档管理、在线补丁、应用/引擎/单游戏配置、授权、后台更新
界面 UI 交互层 app/src/main/java/com/tyranor/next/ui/ Compose 页面、Activity 壳、弹窗、导航、顶部栏、搜索框、用户输入、加载态与错误态

功能抽象层按领域继续拆分:

UI 层按页面域继续拆分:

技术栈

引擎集成设计

构建

# 编译 Debug APK
./gradlew assembleDebug --no-daemon

产物位于 app/build/outputs/apk/debug/。需要 Android SDK(本地平台 android-37)环境。

目录结构

app/
├── src/main/java/com/tyranor/next/
│   ├── core/      功能抽象层:扫描、启动、引擎模块、封面、存档、补丁、配置、授权、更新
│   ├── ui/        界面 UI 交互层:主界面、游戏页、设置页、弹窗、公共组件
│   └── theme/     Compose / Miuix 主题、色调、深浅色适配
├── src/main/assets/
│   ├── engine/        App 专属 Web 引擎注入脚本
│   └── nativeplugins/ Gradle 构建期生成的 Native 插件 zip
└── src/main/nativeplugins/ 插件 manifest 与 app-only 插件源头

engine/
├── src/main/java/          底层引擎宿主、桥接代码与运行时入口
├── src/main/cpp/           Native/JNI、SDL、引擎运行时代码
├── src/main/assets/        底层引擎资源与共享引擎脚本源头
└── src/main/nativeplugins/ 共享 Native 插件 so 源头

docs/   设计文档、逆向分析、功能计划与优化方案

许可证

本项目基于 GNU General Public License v2.0 发布,详见 LICENSE(GPL-2.0-only)。

致谢

Tyranor-Next (Weiss-UltimateSavior/Tyranor-Next)

Searching Database…

Что это?Tyranor Next — мультидвижковый лаунчер визуальных новелл (Galgame) для Android. Его рантайм движков — переписанный на основе реверс-инжиниринга эмулятор Tyranor, а в комплекте есть нативные рантаймы для Kirikiri, ONScripter, Tyrano и Artemis, плюс управление библиотекой, загрузка обложек, зеркалирование сохранений и настройка движков.
Он запускает все движки визуальных новелл нативно или тоже полагается на внешние модули?Kirikiri, ONScripter, Artemis и Tyrano работают через встроенные нативные/веб-рантаймы, а Ren'Py и RPG Maker XP/VX/VX Ace — через отдельно устанавливаемые внешние модули движков в виде APK. RPG Maker MV/MZ вместо этого используют встроенный веб-рантайм.
Как указать ему на мои игры?Вы выдаёте доступ к папке с играми через файловый пикер Storage Access Framework (SAF) в Android; затем приложение сканирует и само определяет тип движка по содержимому папки.
Нужно ли ставить что-то дополнительно для игр на Ren'Py или классическом RPG Maker?Да, игры на Ren'Py и RPG Maker XP/VX/VX Ace/mkxp-z работают через отдельные внешние APK-модули, которые надо установить; пока модуль не установлен, запись этого движка показывает крестик и предлагает его скачать.
Это запустится на любом Android-телефоне?Нет, нативные библиотеки движков пока поставляются только под arm64-v8a, поэтому нужно 64-битное ARM-устройство на Android 8.0 (API 26) или выше; реальная совместимость с игрой всё ещё зависит от конкретной версии движка, упаковки/шифрования и варианта скриптов.
В чём подвох лицензии GPL-2.0?Рантайм движков получен реверс-инжинирингом из GPL-2.0 проектов вроде Kirikiroid2 и ONScripter, поэтому всё приложение под GPL-2.0 и любой производный продукт обязан поставляться с полным исходным кодом; вшитые шейдеры Anime4K — отдельное исключение под MIT.
Что будет, если попытаться запустить игру с PSP или Switch?Лаунчер определит это и передаст игру внешнему эмулятору (PPSSPP для PSP, Eden для Switch) вместо запуска через собственные рантаймы движков.
Что ещё можно делать, кроме запуска игры?Он также занимается управлением библиотекой игр, загрузкой обложек, зеркалированием файлов сохранений (архивов) и настройкой параметров для каждой игры или движка.
Почему он называется Tyranor Next?Его рантайм движков и базовая архитектура — переписанный на основе реверс-инжиниринга оригинальный эмулятор Tyranor, причём логика сканирования и маппинга путей SAF адаптирована из проекта RinneMobile.
Он как-то улучшает графику старых игр?Да, в комплекте шейдеры Anime4K GLSL (лицензия MIT, автор bloc97) для апскейла с восстановлением линий в реальном времени для графики игр на Kirikiri.
What are similar projects?BiliPai, YunX, Metrolist, DSHA, Echo-Music, Seal, vivi-music, Shizuku-Next
Size
235.8 MB
Stars
668
Updated
CommitOct 18
Age
1mo
Commits · 90 Days