蔚蓝(Celeste)技巧提示 Mod
在你做出帅气技巧的瞬间,弹出一个技巧框!
做出技巧,弹出一个小牌子,告诉你这个技巧叫什么,以及在哪做的。
用于速通讲解,自检,偷偷欣赏皆可!
-
本 Mod 的代码与素材基于 Balint817/TechPopups 继续开发, 上游是 MIT 协议,允许自由修改和再发布,本仓库已完整保留其
LICENSE.md与版权声明。 -
技巧判定逻辑在上游的基础上做了大量补充和修改(现在 47 条可开关的判定里,
大部分是这版新写或重写的),其余改的是表现层:位置锚定、字体、动画、图标、
背景模糊、技巧面板。
-
本 Mod 新增的技巧收录、面板功能、测试与迭代由 L_FLA5H 完成,
代码开发由 AI 完成。哥们真的不会写代码。
-
本 Mod 是独立开发的第三方 Mod,与 Celeste、Everest 官方无关。
-
现有判定逻辑仍然存在很多不成熟的方案,如果有这方面的建议欢迎提issue。
目录 | 这版改了什么 ・ 安装 ・ 技巧面板 ・ 设置 ・ 字体 ・ 已知局限 ・ 关于
旧版mod会把技巧框夹在当前房间的矩形里。
在切板的瞬间,上一面还没消失的技巧框会被挤到共同的那条边上,然后被一次性清掉,观感上不是很suai。
现在改成纯世界坐标锚定:
- 技巧框跟着背景连续移动,过版时平滑滑走
- 不再被过版瞬间清掉,按自己的淡出时间消失
- 在房间边界做的技巧,牌子会挂到边界外面去,你走进下一面,那半截还看得见。
旧版本的技巧框还有时出现没完全跟着动的情况,这个版本把坐标换算改成了和游戏自己渲染世界完全一致的公式,算是解决了这个问题。吧。
标签字体换成鸿蒙体粗(HarmonyOS Sans SC Bold)烤出来的位图字体,
比原来自带的 UI 字体明显更沉、更有分量,显得你一看就是sub24的料。
字母一个一个弹进来, 退场一个一个收走,不再是整块一起淡入淡出,很有秩序。 或者你也可以取消这个逐字的动画,详见下方技巧面板一栏。
从一个矩形换成了圆角胶囊的外形,附带一些,啊呸,超级多可以自定义的参数,详见下方的技巧面板一栏。
原先的技巧框不会受到系统UI的影响,在暂停/重开章节这种UI出现时,会岿然不动地显示在屏幕最顶层。现在暂停时干脆一帧都不画了。
把文件夹/zip整个丢进 <游戏目录>\Mods\,重启游戏,和其他Mod安装一致。
记得先把那个 TechPopups.zip 改名或删掉,
否则 Everest 会把 zip 和文件夹各加载一份,Mod 会出现两套。
如果你想自己编译:
Set-Location "<游戏目录>\Mods\TechPopups\Source"
dotnet build -c Release或者直接在仓库里双击 tools\build.bat,它会自己同步、编译、清理。
编译前必须关掉游戏,DLL 被占用会编译失败。
技巧一多,在游戏里翻设置列表就很痛苦。所以我整了个外置网页面板。
你有用过我基于CCT做的推图数据统计工具 MapclearingStats 吗?跟那个UI一个思路,Mod 自己在本机起一个服务,浏览器打开就能用。
用法:
打开你的蔚蓝,然后在浏览器直接输入 http://localhost:32274/。非常的简单。
这个面板非常的牛比。
- 点一下卡片直接决定要不要显示这个技巧,改动直接热写回 Mod 设置,根本不用重启
- 顶部「外观 ▾」里,你特么甚至能自己DIY技巧框的样式,即时生效:
分组 设置项 外观 技巧框大小、头顶高度、贴边留白、玻璃底板、背景透明度、逐字动画开关、显示内容(图标 / 文字 / 都要) 时长 停留时间、渐入时间、渐出时间
游戏内也能开:Mod 选项 → TechPopups → 技巧面板 → 「立即打开技巧面板」,
勾一下直接弹浏览器,不用自己敲地址。
设置菜单有简体中文(游戏语言为中文时自动生效),是机器组织的翻译,
⚠️ 语言包的文件名必须和游戏Content\Dialog\里的完全一致 —— Everest 是按文件名匹配的,游戏里那份叫
Simplified Chinese.txt,不是Chinese.txt。这 mod 之前一直没生效就是因为起错了名字。
tools\make_chinese.py现在直接生成正确的文件名。
普通玩家大概率不用管这个问题。
- 服务只绑
localhost,不出网、局域网也访问不到。 - 端口默认 32274,如果想要修改,去 Mod 选项 → 技巧面板。
- 面板只在游戏运行时有数据,关掉游戏页面就会显示「读不到数据」。
- 后台线程不碰游戏状态:读的是主线程生成的快照,写操作排队后由主线程执行。
页面本体是 Source\Panel\TechPanel.html,作为嵌入资源编进 DLL,
所以不会漏文件、也不会被误删。放心用。
Mod 选项里分五个子菜单:
-
技巧开关 —— 每种技巧一个开关,不想看哪个就关哪个
-
判定时机 —— 淡入 / 停留 / 淡出时长、连携判定窗口、Bunnyhop 判定窗口等
-
技巧框外观 —— 整体缩放、贴边留白、玻璃底板 + 背景透明度 + 模糊强度、显示模式
(图标+文字 / 只要文字 / 只要图标)
-
杂项设置 —— 各种叫法转换(比如 Wavedash 要不要显示成 Hyper)
-
技巧面板 —— 在本机
localhost:<端口>起一个网页面板,在游戏外开关技巧
标签字体在 Dialog/Fonts/ 下,是 BMFont 格式的位图字体:
| 文件 | 是什么 |
|---|---|
techpopups.fnt |
BMFont XML 描述文件,95 个字形(ASCII 32–126) |
techpopups_0.png |
1024×512 的字形图集 |
重新生成:
python tools\make_font.py脚本会依次去找 HarmonyOS_Sans_SC_Bold → Black → 微软雅黑粗 → Noto Sans SC Bold,
用找到的第一个渲染。只分发烤出来的位图图集,不含字体原文件。
字的大小由 PopupFont.SizeCompensation(默认 0.73)控制 ——
鸿蒙体比原字体高 1.37 倍,这个系数负责把尺寸拉回原来的观感。想让字更大就把它调大。
透明的牌子不会被叠加画深。
图集里有 56 张图标,全部用了同一套算法,根据这个技巧的意思大概画一张示意图。为了风格统一,在绘制新增图标时我也对原来的旧图标做了一些修改。在此非常感谢原作者的参考!
-
没有任何一个技巧的判定是能人肉实机验证的。 全部是靠反编译游戏 DLL 读逻辑推出来的,加上上游已有的判定。如有误报 / 漏报请提issue。
-
图集只含 ASCII 可打印字符。技巧名里出现图集没有的字符时,
会自动退回原来的字体,最坏只是字没变,不会报错也不会不显示。
-
逐字动画在图集加载失败时也会整体退回一次性绘制(没有逐字效果)。
-
上游作者:Balint817 — https://github.com/Balint817/TechPopups
-
标签字体:HarmonyOS Sans(华为),由
tools/make_font.py烤成位图图集 -
图标:上游那批由
IconGenerator/pixelicons.py生成(这版重绘了外框,画面内容未动);这版新增的图标由
tools/make_icons.py生成 -
原 Mod 协议:MIT,见
LICENSE.md
