版本与下载
1. 下载通道
| 通道 | 含义 | 建议 |
|---|---|---|
release | 稳定发布 | 日常使用 |
test | 测试构建(新运行时/新能力验证) | 尝鲜与反馈,可能不稳定 |
当前最新版本以页面列表为准;测试构建的版本号可能带 -test、-debug 后缀。
2. 版本数据
官网下载页与客户端读取同一份版本数据:
https://tnloader.top/releases/releases.json
也可以直接下载查看(本地保存为 releases.json):
curl -fsSL https://tnloader.top/releases/releases.json -o releases.json
数据结构(tnl-releases/v1):
{
class="s">"schema": class="s">"tnl-releases/v1",
class="s">"latest": class="s">"0.11.7",
class="s">"count": 22,
class="s">"releases": [
{
class="s">"version": class="s">"0.11.7",
class="s">"file": class="s">"apks/TerraNovaLoader-0.11.7.apk",
class="s">"size": 263007105,
class="s">"sha256": class="s">"5d1600a731462a172e780f21b6656da61e614b5b24bc188294e049109309f5f1",
class="s">"date": class="s">"2026-11-08",
class="s">"channel": class="s">"release",
class="s">"abi": class="s">"arm64-v8a",
class="s">"minAndroid": 23
}
]
}
file是相对路径,拼接下载根地址得到下载直链(例如
https://tnloader.top/releases/apks/TerraNovaLoader-0.11.7.apk);
- 每个版本都提供
size与sha256,下载后务必校验; - 官网下载页会实时读取上述版本数据;数据不可用时页面会提示,
稍后刷新即可,不会展示过期的版本信息。
3. 校验 APK
sha256sum TerraNovaLoader-0.11.7.apk
class="c"># 与 releases.json 中同版本的 sha256 对比
4. 版本说明
- 0.11.5:内置菜单 UI 全量重做(品牌 header/图标 tab/9×9 分页网格/自由缩放 0.7–2.0/系统输入法/
收藏·最近·命令历史);release 重新内置开发者/作弊面板(用户要求;--no-dev-menu 仅保留为诊断 通道);材质包改为"游戏内容加载前安装 hook + 提前建索引"(修复材质包仍加载失败/部分生效); 商店地址固定为 http://119.45.125.36:18080/store,客户端移除商店设置入口;
- 0.11.4:游戏内菜单改为原生 ImGui(安全面板 release 可用);该版本曾移除内置开发者菜单,
0.11.5 起已重新内置(见上一条);材质包全量加载(TPL 式,取消 64 MiB 预算);
- 历史版本保留在下载目录中,便于回退;
- 跨多个版本升级时,若管理器提示数据/格式迁移,请按提示操作并先备份
tnl_mods; - 卸载应用会删除应用数据(含模组与日志),升级请用覆盖安装。
0.11.4:材质包全量加载(TPL 式)
- 重写材质包加载:hook
ContentManager.LoadTexture2D,加载时直接使用包内 PNG 返回(原贴图不再解码); - 修复大包"部分生效":取消 64 MiB 全局 RGBA 预算(保留单图/尺寸上限),Polaris 等大包可全量替换;
- 支持
Content/Images(PC/TPL 布局)与assets/Images(商店包)等 5 种目录布局; - 已知限制:内存占用约等于材质包 RGBA 总量(Polaris ≈326 MiB),低内存设备建议小包;透明边缘未做 alpha 预乘(轻微 fringe)。
0.11.5:内置菜单 UI 重做(release 含开发者面板)+ 材质包早期 hook
- 内置菜单(ImGui)全量重做:TN logo/品牌 header、图标 tab、卡片分组、开合动画;
- 物品/NPC 目录改为 9×9 = 81 格/页 的分页网格(分类色块/首字/编号;tap 按当前数量刷取,长按收藏),
分页条支持首/尾页/上下页/跳页,页码持久化;
- UI 缩放 0.7–2.0(或自动)、不透明度、恢复默认,设置持久化到应用私有
tnl_menu.json; - 系统输入法(Android IME)接入搜索/命令输入,另有屏幕键盘 fallback;
- 收藏/最近使用/多人命令历史持久化;世界外/非多人时无效按钮自动禁用;
- release 也内置开发者面板:
TNV_DEV_MENU=ON+-PtnlDevMenu=on,运行期dev_menu=true;
--no-dev-menu 仅诊断构建(产物 -nomenu.apk,不发布);
- 材质包修复:hook
ContentManager.LoadTexture2D提前到游戏内容加载之前安装并提前建索引,
修复"材质包仍然无法加载/部分生效";仍无 64 MiB 全局预算,Polaris 全量替换(内存 ≈ 包 RGBA 总量, 约 326 MiB,低内存设备建议小包);
- 商店:客户端商店地址固定
http://119.45.125.36:18080/store,设置页移除商店设置入口(不再可改源)。
0.11.6:真机 ImGui assert/白条修复 + 材质包状态行
- 修复真机内菜单 ImGui assert 覆盖层(
Missing PopStyleVar、SetCursorPos()/SetCursorScreenPos()扩展窗口边界):
style 栈 push/pop 全量配对、绝对布局后补 item/Dummy;
- 修复菜单关闭后左侧残留的白色竖滚动条(悬浮按钮窗口改为无滚动条);
- 安全面板新增「材质包状态」行:实时显示材质包 hook 阶段/ContentManager 解析/索引与 applied/fallback 统计
(0.11.6 起材质包 hook 在游戏内容加载前安装,修复此前仍"无法加载/部分生效"的时序问题);
- 无功能/布局行为改动。
0.11.7:材质包 TPL 造图链路(预乘 / RawTextureData / batching)
- 材质包贴图改为 TPL 式造图链路:stb_image 解码 RGBA8 + alpha 预乘(默认开,
TNV_TPL_PREMULTIPLY=0可关)
→ Texture2D(w,h,RGBA32,false) → LoadRawTextureData+Apply(失败回退 ImageConversion.LoadImage) → XNA Texture2D 包装 → 写合批字段 SharedBatching / NonSharedHeadInsert(UI/世界贴图区分; 这是修复"替换了但渲染不对/不生效"的关键之一);
- 失败原因(decode/alloc/ctor/raw/image/xna)进安全面板「材质包状态」行的
tpl(raw/image/batch/ok/firstFail);
失败回退原版贴图;
- 沿用 0.11.6 的菜单 P0 修复与 9×9 分页/缩放/IME 等 UI;
- 已知限制:UI 贴图合批判定为启发式(
images/ui前缀或/ui/段);zip 包直读暂不支持(商店包均为解压目录);
回退 LoadImage 时会多一份 CPU 副本,raw 路径无 CPU 副本。
TerraNova Loader