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…

What is this?Tyranor Next is a multi-engine visual novel (Galgame) launcher for Android. Its engine runtime is a reverse-engineered rewrite based on the Tyranor emulator, and it bundles native runtimes for Kirikiri, ONScripter, Tyrano and Artemis, plus library management, cover fetching, save mirroring, and engine tuning.
Does it run every visual novel engine natively, or does it rely on external modules too?Kirikiri, ONScripter, Artemis and Tyrano run through built-in native/web runtimes, while Ren'Py and RPG Maker XP/VX/VX Ace run through separately installed external APK engine modules. RPG Maker MV/MZ use the built-in web runtime instead.
How do I point it at my games?You grant access to your game folder through Android's Storage Access Framework (SAF) file picker; the app then scans and auto-identifies the engine type from the folder contents.
Do I need to install anything extra for Ren'Py or classic RPG Maker games?Yes, Ren'Py and RPG Maker XP/VX/VX Ace/mkxp-z games run through separate external APK modules that you must install; until installed, that engine entry shows a cross mark and prompts you to download it.
Will this run on any Android phone?No, the native engine libraries currently ship arm64-v8a only, so you need a 64-bit ARM device on Android 8.0 (API 26) or higher; actual game compatibility still depends on the specific engine version, packing/encryption, and script variant used.
What's the catch with the GPL-2.0 license?The engine runtime is reverse-engineered from GPL-2.0 projects like Kirikiroid2 and ONScripter, so the whole app is GPL-2.0 and any derivative must ship full source; the bundled Anime4K shaders are a separate MIT-licensed exception.
What happens when I try to launch a PSP or Switch game?The launcher detects it and hands off to an external emulator (PPSSPP for PSP, Eden for Switch) instead of running it through its own engine runtimes.
What else can I do besides just launching a game?It also handles game library management, cover art fetching, save file (archive) mirroring, and per-game or per-engine parameter tuning.
Why is it called Tyranor Next?Its engine runtime and core architecture are a reverse-engineered rewrite based on the original Tyranor emulator, with scanning and SAF path-mapping logic adapted from the RinneMobile project.
Does it do anything to improve old game graphics?Yes, it bundles the Anime4K GLSL shaders (MIT-licensed, from bloc97) for real-time line-reconstruction super-resolution upscaling of Kirikiri game visuals.
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