Repository navigation
Releases: Bonus-XK/FNF-MeteoricEngine
Release list
Pre-release v1.2.0-20260919-1752
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Meteoric Engine v1.1.3
🚀 Meteoric Engine v1.1.3
相对上一个正式版 v1.1.2(2026-09-02)后的全部更新(同期 8 个提交、140 个文件、+14173/−10065 行)。
引擎版本 1.1.3 / 更新校验索引 4(更新判定:远端索引 > 本地索引才提示)。
🖥️ 构建产物
| 平台 | 文件 |
|---|---|
| Windows x64 / x86 | Meteoric-Windows-x64.zip / Meteoric-Windows-x86.zip(解压即用,含依赖 DLL) |
| macOS x86_64 / arm64 | Meteoric-macOS-x86_64.zip / Meteoric-macOS-arm64.zip(内含 Meteoric.app) |
| Android arm64 | Meteoric-Android-arm64.apk |
🆕 本期新增
- 主题色系统(10 色):新增
source/backend/DesignTokens.hx作为唯一色彩来源,新增
source/objects/ColorSwatchPicker.hx色块选择器(入口:设置 → 界面 → 主题色,键盘/鼠标/触控三套输入)。
青(默认)/蓝/紫/品红/橙/金/绿/青绿/红/粉十色;全库「双圆角磨砂面板 / 按钮 / 高亮条 / 状态层」统一改走令牌,
切换即时跟随;时间条取色收敛到单点source/backend/TimeBarColor.hx;Lua / HScript / 界面脚本均可用
setThemeColor等 API 读写(默认临时预览,persist=true才落盘)。 - 多版本容器(Containers):把任意版本的目标引擎(Psych 0.6.3 / 0.7.3 / 1.0.4、SeiunEngine 等)放进
mods/_containers/,游戏内一键切换:宿主挂起让位 → 目标引擎独占窗口 → 关闭目标即自动唤醒 Meteoric 并整机重启。
本版把容器从「仅 macOS」扩到 macOS / Windows 双平台,入口收敛到「设置 → 容器」,
容器界面补鼠标光标、背景跟随主题色;新增 9 个Container*.hx模块,说明文档见CONTAINERS.md。 - UI 设计系统与规则库:新增
skills/(meteoric-design总纲 /meteoric-system/meteoric-menu/meteoric-mobile),
把分域原则(手绘域 vs MD3 系统域)、设计令牌、动效决策框架(频率表/时长曲线/并发上限)与三套输入固化成规范。 - 更新提示界面重做(
OutdatedState):单面板 900×520 + 0.6 黑遮罩压暗、版本对比行(当前 → 最新)、
前往下载更新(filled)/忽略更新(tonal)两个真按钮、稍后提醒 / 不再提示开关(写updateNotify,
关掉后在设置 → 效果 → 更新提示可重新打开);Esc 忽略、Enter 下载、←/→ 切焦点。 - Credits / Mods 左栏大卡片:选中项改为「头像/图标 + 名称 + 职位/启用状态」大卡片,滚动跟随、
不再顶出面板;Mods 界面同款面板。 - 主菜单联机入口美术(
menu_online.png/xml);新增 PE 0.6.3 经典 NoteSplash 皮肤(noteSplashes-063)。
⚡ 性能与稳定性
- 超密集谱档位(Obsolescence-spam 500 帧优化 v3 → v6):v3 密集谱自动高性能档(perfMode 合批 +
PE 0.6.3 原生贴图避免平涂色)、v4 串色修复 + 密集场成员减半、v5 判定线回退 + 密集对象硬上限、
v5.1 hxcpp/Note 热路径榨干(release 移除指针校验/栈回溯)、v5.2 帧率波段抖动节流、
v5.3 命中热点收敛、v5.4 命中击杀延迟 O(n²) → O(n)、v6 移植 Seiun 最新版 Turbo 模式
(新增source/backend/TurboDensity.hx)。实测:空段 1100+ FPS,密集段中段 400~550 FPS。 - 内存:
Note改单索引对象 + 静态平行数组(Flocc 级 1GB → 400MB 目标)、谱面 LRU 上限 8→2、
游玩期谱面 DOM/缓存副本释放、歌曲音频流式、图集/角色/背景降采样(可在设置里调)。 - GC 硬上限修复:启用
HXCPP_GC_BIG_BLOCKS,解决 1150 万音符级谱面的
Memory exhausted. try HXCPP_GC_BIG_BLOCKS.SIGILL 闪退。 - 镜头/相机:新增平滑镜头缓动设置(
camSmooth);修复换段「瞬移」。 - 帧率:120 / 240 / 480 / 无上限四档;Windows 端「无上限」档位恢复 + 墙钟补丁能力自检(判据最终定为文件身份)。
- 高清渲染:
meteoric_dpi_mode.txt运行时开关(1x 高性能 / 2x 高清,重启生效);
Windows 高 DPI 修复(SDL3 逻辑/物理尺寸归一化 +FlxText超采样向上取整,125%/150%/200% 屏不发糊、窗口不溢出)。 - 设置二级页:打开时父级
persistentDraw = false,二级页帧率 ~900 → 1300+。 - Mod 拖入安装:20GB 级 mod / 2.1GB 谱面 JSON 不再崩溃(改用系统原生拷贝命令 + 线程安全消息)。
🐛 关键修复
- 更新界面:开关圆点「飞出」(圆钮坐标基准:轨道内圆心 → 精灵 x 显式加轨道偏移,夹取与插值都在圆心空间);
按钮「悬浮两个都亮 / 移开不灭」(makeGraphic位图缓存被同尺寸按钮共用 →unique=true+ 原地清空重绘);
点击后按下态残留(转场期setPressed(false)被输入门控吃掉)。 - 曲终结算崩溃(自动游玩/回放路径
curAnim空引用)与 0:00 卡结算
(谱面目录名 ≠ JSONsong字段 → 空音频 resync 死循环)。 - 容器:三连修(按 Control 就回主引擎 / 容器窗口无法聚焦 / 返回后标题节拍静止)、
「无法获得宿主进程 PID」(Haxe$$转义坑)、非 ASCII 路径约束、陈旧进程保护;
修「设置 → 容器」进入先黑屏再跳(改为即时换状态)、设置分类列表文字被选中框压住。 - 动效收敛:暂停/结算入场由
quartInOut 0.4s + 逐行 startDelay(最长可见延迟 1.15s)统一为
quadOut 0.25s同步淡入;Pause「已暂停」标题此前alpha=0(从不显示);主菜单确认动效 1s → 0.4s。 - 专项修复:Weekend 1 周目 Miss 后对手无人声、血量图标推飞、长条/判定线回退、长按设置按钮、暂停返回菜单闪退(不回归)。
- 启动类:macOS 启动卡在加载界面 + CPU 100%(构建后恢复墙钟版
lime.ndll);
Windows 启动黑屏卡加载(桌面端 100000 帧率哨兵缺前提)。
🔧 引擎与工具链
- GitHub Actions 全端 CI:Android(arm64) / Windows(x64+x86) / macOS(x86_64+arm64) 五端产物,
SDL3 移植版 lime 现场组装(ci/setup-lime-sdl3.sh/ci/install-deps.sh),构建完自动发 Pre-release。 push-source.sh源码一键上传:严格遵循.gitignore+ 三道提交前安全检查
(忽略规则断言 / 未跟踪.hx检测 / >5MB 新文件确认),推送后用远端 HEAD 复核。compile-mac.sh:typecheck只读模式(不改 app)+ 墙钟版lime.ndll指纹复验,
修掉「忠实地保留坏文件」的工具链事故;profile/debug模式分别开性能探针与meteoric_debug诊断。- Lua 命令模块化:
source/psychlua/functions/拆为 13 个模块
(相机 / 角色 / 对话 / 菜单 / 音符补间 / 对象 / 游玩 / 分数 / 脚本 / 声音 / 全局 …),并融合 SeiunEngine 与 JS 引擎的增强。 - 诊断能力:
MeteoricProfile性能探针、启动诊断行、崩溃报告增强(含原生/Java 层)、FPS 面板信息扩展。 - 仓库清理:移除误入库的
.orig/.bak备份文件并加入忽略规则。
📦 升级提示
- 从 1.1.2 或更早升级:解压覆盖即可;存档
funkin.sol为全字段反射读取,无需迁移。 - 更新检查在「设置 → 效果 → 更新提示」可开关;本版索引为 4,故 1.1.2(索引 3)会收到本次更新提示。
🤖 由 GitHub Actions 自动构建 · 源码与完整变更见仓库 CHANGELOG.md
Pre-release v1.1.2-20260912-1852
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Pre-release v1.1.2-20260911-2217
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Meteoric Engine v1.1.2
🚀 Meteoric Engine v1.1.2
基于 v1.1.1 之后全部更新(引擎版本 1.1.2 / 更新校验索引 3),含 CI 构建产物(Android / macOS)。
⚡ 高帧率与性能(Mac 重点)
- 帧率上限设置(图像设置):新增
120 / 240 / 480 / 无上限四档,切换即时生效;桌面默认无上限,移动端默认 120 防过热 - 高清渲染 / 性能模式:
meteoric_dpi_mode.txt运行时模式文件(1x 高性能 / 2x 高清,重启生效);perfMode渲染开销收紧、游戏中实时生效 - 设置二级页性能:打开二级页时父级
persistentDraw = false,二级页帧率从 ~900 提升到 ~1300+ - PlayState 万帧稳定:自定义 FlxGame 帧循环(桌面 100000 哨兵墙钟);已消费音符引用定期释放(
releaseConsumedNotes),GC 尖峰 120ms → ≤24ms - FPS 计数器修复:
_lastStamp时间戳修正,标题栏 / 角标读数真实,并显示引擎版本 - 移除高开销的 FPS 波动图(FPSGraph)
🧩 JS 引擎优化融合(9 项,默认全部保持原版行为,可逐项开启)
| 设置 | 作用 |
|---|---|
| HUD Only | 只渲染 HUD + 音符,角色/舞台不再绘制 |
| Allow GC | 关闭 GC 消除高帧率尖峰(内存可能上升) |
| 三个 Strum 灯(对手/自动/玩家) | 控制鼓面呼吸灯 |
| 评分弹窗 / 连击弹窗 | 关闭后大谱面高密度命中不掉帧 |
| Less Botplay Lag | 自动游玩只计分不弹窗 |
| No Hit Lua Calls | 关闭 goodNoteHit / opponentNoteHit 的 Lua/Hscript 回调 |
🎨 渲染与 HUD 修复
- 「提前渲染音符」全朝左 bug:补
defaultRGB()+tryUseBakedGraphic(),复生音符按当前轨道正确着色 - 血条图标飞出回位:追赶速率 4.0/6.0,600% 爆发后约 0.8s 回位(原 3~4s)
- RGBPalette 移动端 NRE 修复:setter 克隆条件改为
allowNew && enabled && 值不同
📱 安卓兼容与存储修复
- CastNote 轻量管线接通安卓:PlayState 谱面管线 12 处改为可回退的新分支——Flocc Hard(2,260,102 音符)安卓可加载游玩,不再原生崩溃
- Android 12
.meteoric存储释放修复:- 权限判定改用真实写探测(
probePublicRoot),绕开 MIUI/HyperOS/ColorOS 定制 ROM 的isExternalStorageManager()不可靠问题 - 授权成功后先迁移回退数据再建目录;资源复制写盘失败不再静默跳过
- 授权跳转三层兜底:应用授权页 → 全局「所有文件访问」页 → 应用详情页
- 权限判定改用真实写探测(
- 设置 ◀▶ 长按连续调节:按住 0.5s 后数字连续滚动、字符串档位 0.2s 切换、松手即停
🧰 开发与诊断工具
- MeteoricProfile:每帧耗时探针(
-D METEORIC_PROFILE启用,默认零开销) - GlErrorWatchdog(Seiun 移植):渲染帧轮询
glGetError(),GL 错误写入结构化日志环 - CrashHandler 结构化日志环:最近 60 条游戏日志随崩溃报告输出
🔧 构建基础设施 & 版本
- SDL3 lime 补丁更新(高精度性能计数器、高 DPI 模式文件开关);CI 缓存 key 更新、网络重试收紧
- 引擎版本
1.1.2、校验索引2 → 3、APKversionName = 1.1.2、gitVersion.txt同步
🐛 本版本额外修复(v1.1.2 之后合入,本次发布已包含)
- Combo 数字弹窗不显示:数字弹窗与 Combo 词解耦(独立受
showComboNumPop控制) - 手机锁屏解锁后伴奏/人声误播:焦点恢复钩子若暂停菜单仍打开则立即重新冻结音频;
freezeBackgroundAudio冻结全部在播 FlxSound - Weekend 1 Miss 后 dad 方无人声:
noteMissCommon不再静音opponentVocals,与 Psych Engine 1.0.4 对齐
🏗️ 仓库 / CI
- GitHub Issue 模板:中文版(含安卓崩溃日志/复现步骤/设置项字段)+ 英文版
- CI:Gradle 依赖模块缓存 + Android 构建失败自动重试,防 Maven Central 429 限流
下载:见本 Release 附件(Meteoric-Android-arm64.apk / Meteoric-macOS-arm64.zip 等)。
Pre-release v1.1.2-20260902-1911
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Pre-release v1.1.2-20260902-1707
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Meteoric Engine v1.1.1
✨ 版本亮点
Meteoric Engine 1.1.1 —— 联机功能完整落地并从「双人同打一侧」升级为真双人各唱半边谱面:两侧谱面同时滚动、人声与动画各归其位;新增局域网房间自动发现(免输 IP);无模组玩家也能看到对方模组角色皮肤;结算界面重写(KE 命中散点图 + 对方成绩对比);版本校验索引升级为 2。
🌐 联机对战(全新)
- 局域网 1v1 实时对战:主菜单恢复「联机」入口,TCP 房主即服务器(端口 27750),严格 1v1、满员拒绝
- 本地判定 + 全量同步:HIT / MISS / PRESS / RELEASE 增量广播;对方按键条、血条、分数、连击、判定统计实时同步
- 暂停同步:单方暂停双端同步;暂停与结算期间持续轮询网络;修复 PAUSE/RESUME 回声导致的「无法继续游玩」死锁;联机禁用重开
- 血条攻防:己方 Hit 推己方条、Miss 扣血,对方 Miss 按损失量 60% 回血
- 昵称 / 输入:中文昵称 UTF-8 修复;输入框重构(future.ttf 显示 + 原生 IME 输入 + 自绘光标);输入聚焦时屏蔽游戏键位;全界面鼠标操作
- 房间大厅:两页制四区布局(玩家列表 / 房间信息 / 选曲 / 状态提示);选曲携带难度与 mod 与判定规则,客户端强制跟随;回大厅连接保持,可直接再来一局
🎤 联机真双人(v1.1.1 核心)
- 各唱半边谱面:房主打 player1(BF 位),玩家打 player2(Dad 位);客户端镜像人声(Vocals ↔ OpponentVocals)
- 左侧谱面恢复滚动:不再是「双方都唱 BF 侧、对方侧变空气」;对方按键命中左侧音符、Dad 唱歌、对方 Miss 播 Miss 动画、长按完整判定
- chartSeq 精确消费:HIT / MISS 携带音符序号,接收端按序号消费(findOnlineOppNoteBySeq,视觉副本覆盖时回退基准音符)
- 布局与相机:双端统一标准单机布局(自己箭头在右/中、对方在左/两侧);中间滚动偏移按物理位置修正;相机跟随当前演唱角色
- 加载预载:加载界面按角色映射预载双方贴图,进曲不黑屏/闪图
📡 局域网房间自动发现
- UDP 广播发现(27751):房主每 1s 心跳广播(房间码 / 房主昵称 / 人数 / 是否已满),广播至 255.255.255.255 + 回环 + 本机局域网 IP(单机双开可发现)
- 「发现房间」页面:首页第三项入口;实时列表、4 秒未收到心跳自动移除、满房置灰、点击行直连(免输 IP);离开房间自动停止广播
🧩 模组皮肤跨端同步(CHARSYNC)
- 选角确认时把模组角色资源(角色 JSON / 图集 / 血条图标)按 60KB 分块同步到对端 mods/ 兜底路径——无模组玩家也能看到对方模组皮肤
- 出站队列 + 每帧续发:非阻塞 socket 缓冲满(Blocked)视为背压,不再误判断线
- 资源收集遍历全部已安装模组;过滤资源不全的半残角色;同步前完整性校验;进曲锁定我方角色所在模组
- 「开始对局」需等对方资源同步完成
🧾 结算与判定
- KE 命中散点图(NoteHitGraph):横轴音符时间、纵轴命中偏移、4 条判定窗口线、Mean 均值(移植自 Kade Engine 1.8)
- 结算界面重写:曲目信息 + 判定统计两列 + 本局数据(分数 / 最高连击 / 准确率 / 新纪录)+ 大版散点图
- Marvelous 改金黄色、遮挡与间距修复;结算时自动隐藏 HUD 判定侧边栏
- 联机结算:精简版 + 对方成绩栏实时刷新;「继续」直接回房间大厅
- Early / Late 指示器(Psych-Forever 移植):偏早/偏晚命中显示对应判定图(普通 + 像素全套)
- 金色 Combo:全 Marvelous/Sick 时切换金色计数,Good 以下或 Miss 恢复;修复 Combo 词方向键偏移不生效
- 三帧胜利小图标(OSEngine 移植):血量 >80% 切胜利帧、<20% 切劣势帧;原版 2 帧图标保留 -pe 后缀兼容
🛠️ 稳定性 · 性能 · 兼容
- 暂停→返回主菜单闪退根治(转场冻结 + LuaJIT pushing nil 修复)
- QT / FlxAnimate 动画修复:ATLAS 坐标随降采样缩放、playAnim 强制重启、DCE 保护(@:keep)、addLuaSprite 官方语义
- 内存优化:未用缓存每 60s 清理(useCount 守卫)、角色图集销毁、回放/重开同曲 100% 死循环修复、StrumNote 缺资源兜底
- FunkinMix shader 白/黑屏修复(FlxRuntimeShader 官方对齐 + 相机边界公开访问);runHaxeCode Map 变量预处理
- 编谱面板重写(ChartingPanel / ChartWidgets,独立纹理根除「悬浮串亮」);多引擎导出(CNE / Psych 0.6.3)
- 多层级崩溃日志:黑匣子心跳 / 阶段簿 / Haxe 未捕获 / 原生信号栈 / Java 层;Seiun 式完整系统报告
- 安卓:后台冻结(暂停 + 音频)、Java 崩溃落盘、重开回溯 NPE、onTrimMemory 重复定义修复
- 66mod HScript 兼容:变量声明、camFollow 注入、SScript inline 静态反射修复
- 像素舞台下落箭头恢复 NEAREST 硬边;背景学生重开表情重置;GF 快速重开修复
🚀 版本与发布
- 版本号 1.1.0 → 1.1.1,版本校验索引 1 → 2(gitVersion.txt 同步更新,已升级玩家不再被误判旧版)
- GitHub 仓库补齐 .gitignore(Gradle/Android 构建产物、.DS_Store、build/bin/obj、export/)
- 三端自动构建产物:Windows x64 / x86 · macOS x86_64 / arm64 · Android arm64
🖥️ 平台
- Windows(x64 / x86)/ macOS(x86_64 / arm64)/ Android(arm64)三端由 GitHub Actions 自动构建并发布
- 本地构建:compile-windows.sh / compile-mac.sh / compile-android.sh
Pre-release v1.1.0-20260828-2317
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建
Pre-release v1.1.0-20260828-1719
Meteoric Engine 自动构建预发布版
包含平台:
- Windows x64 / Windows x86(zip,解压即用)
- macOS x86_64 / macOS arm64(zip 内含 Meteoric.app)
- Android arm64(APK)
由 GitHub Actions 自动构建