Skip to content

Releases

v4.0.2

Choose a tag to compare

@YuHao2006 YuHao2006 released this 10 Nov 18:22

v4.0.2

  • 修复生存模式可变步长在换轮时自动保存了未完成的中间状态,导致重进后无法选卡的问题。自动检查点在最后一次递减前保存;已受影响的存档在读档冷路径恢复为待完成状态,关闭继续对话框后正常换轮。
  • 网页版“高级”增加无尽换轮卡档修复,以及存档文件/文本导出、恢复。手机宿主拦截 DAT64 下载时可复制完整文本或分享 TXT。恢复前完整校验,覆盖前保留原档;保存失败会回滚。
  • 网页版自定义存档保留进度、布阵和生成关卡;文件导入、导出与已知卡档修复统一移到“高级”。独立 PvzDevTools 的文件工具仍保留。
  • 修复和存档备份/恢复不要求投币,处理由独立 wasm32 存档工具完成,不启动游戏、不使用图形或音频。
  • DAT64 仍为 v5.1 / schema 0x10747,没有改变格式。关卡 DAT64 不上传云端,需自行备份。

本版不包含已撤销的普通版图鉴 UI 修补;高清分支的重植版素材调整单独维护。

验证:15 种生存模式的 75 组步长回归、真实玩家卡档恢复、正常状态不误修及最终波快杀恢复;网页独立修复只改变该实档的 1 个字节,保留 84 株植物、阳光及随机数种子;文件/文本备份恢复、校验拒绝和写入失败回滚;WebGL/WebGPU × wasm32/wasm64 四个运行时启动、绘制与正常退出。

v4.0.1

Choose a tag to compare

@YuHao2006 YuHao2006 released this 09 Nov 05:35

v4.0.1

本版修复提示文字的时间与动画问题,存档格式继续使用 DAT64 v5.1 / schema 0x10747,与 v4.0.0 兼容。旧 DAT64 v4 的独立 DFU 自动升级行为不变。

fixed 补包:存档编辑器

版本号保持 4.0.1,只更新网页版内附的存档编辑器。保存用户进度时,额外卡槽购买次数限制为 0~4,对应总共 6~10 个卡槽,并明确标注含义。实际保存时把超范围整数钳制到 0~4,保存后界面显示实际值;非整数不允许保存。

游戏运行时、读档行为、存档格式及四个原生发行包均保持原样。原 v4.0.1 标签保留;编辑器修复源码位于主分支后续提交及其标明的 PvzDevTools 提交。

已修复

  • 提示时长在纳秒迁移时被重复换算,导致有限提示被当成常驻提示。恢复原版的 2.5 / 5 / 7.5 / 15 秒时长,真正的常驻教学提示保持常驻。

  • 恢复老虎机的提示循环:拉杆清掉当前提示,结果提示到期后重新显示 “Spin Again!”;没有增加拉杆或出怪业务分支。

  • 修复 “A HUGE WAVE OF ZOMBIES IS APPROACHING!” 字母的入场、拉伸与退场时序。字母动画使用提示管理者传入的关卡时间,避免暂停期间 visual 时间推进导致恢复时跳到末帧。

  • 恢复 username’s House 开场标题在创建后按开场 visual 时间显示 2.5 秒后消失。

  • 修复 Memory64 网页在刷新/离开页面时,Emscripten beforeunload 回调将 BigInt 字符串指针直接传入 UTF8ToString 的类型错误。仅修正网页宿主桥接,不修改游戏逻辑或字符串热路径。

网页音频诊断

新增可选诊断字段:总音量、各曲目音量、播放/暂停状态、音频线程错误与同步状态。仅在用户启用诊断或主动导出时读取现有缓存,不增加每帧采样或音频同步等待。

未确定来源的静音反馈尚未复现,本版不宣称修复了新的静音问题。已复查共享高潮控制、桌面实际 BASS 播放和网页实际 MO3 解码,昼夜切换、淡出、重触发、暂停恢复等回归通过。

发行包与存档

四个原生包:x64-win10-vulkan1.3、x64-win7-openGL3.3、arm64-android14-vulkan1.3、arm64-android7-vulkan1.0;网页版继续包含 wasm32/wasm64 × WebGPU/WebGL 2 四种游戏运行时,以及独立 wasm32 存档工具。

B站包正常 Quit/资料回写后自动备份用户进度、花园和阵型库。关卡 DAT64 不上传云端,只保存在当前浏览器,须自行导出备份。 设置页保留常驻提醒与上传中的红字提示。

附带完美存档(含坚果包扎术)、同源原版起点转换的无尽基准与文件校验清单。资源和着色器内容相对 v4.0.0 不变,本版不宣称新的性能提升。

v4.0.0

Choose a tag to compare

@YuHao2006 YuHao2006 released this 08 Nov 23:28

v4.0.0

本版是破坏性更新。程序、资源、着色器和 DFU 必须整套替换,不能只替换可执行文件。

时间与存档

  • 当前关卡格式为 DAT64 v5.1,schema 0x10747。将倒计时改为预期时间,减少对象保存的“上一次更新时间”;离散粒子由持有者传入当前时间和本次更新区间,保留逐步模拟。
  • reanim 保留整数纳秒相位与帧缓存,运行时不缓存浮点帧时长倒数。
  • 独立 DataFixerUpper(DFU)自动将正式 DAT64 v4 升级到当前格式,同时修复已确认的旧射手攻击动画卡死。Windows 使用 data/pvz_dfu.dll,Android 使用随包的 libpvz_dfu.so,网页使用独立 wasm32 工具,均不依赖启动游戏来转换。
  • 正确的 v5.1 存档直接读取,不检查动画修复;转换失败不会覆盖原档。未发布的 v3 / v5.0 中间格式不支持。
  • 原版 DAT 可通过 data/pvz_dat64_converter.exe 手动转换,该程序与自动升级共用 DFU 模块。

网页与发行包

四个原生平台:x64-win10-vulkan1.3、x64-win7-openGL3.3、arm64-android14-vulkan1.3、arm64-android7-vulkan1.0。

网页包含 wasm32 / wasm64 与 WebGPU / WebGL 2 四种游戏运行时;支持 Memory64 时自动选择 64 位,存档工具始终是独立 wasm32。继续使用已有正式版的浏览器存档目录,进入游戏前自动升级历史 v4 关卡档。高级设置中的手动“植物动画卡死修复”入口已移除。

附带完美用户档与原版起点转换的无尽基准,当前为 v5.1;完美档包含坚果包扎术。个人存档和开发期日志不随包发布。

本版未重新宣称整局性能提升。最近一轮同条件整局观测与前轮接近,详见性能总账与原始测量记录。

B站包在资料回写与正常 Quit 后自动备份用户资料/进度和阵型库,上传中显示红字提示。设置页常驻提醒:关卡 DAT64 不上传云端,只保存在当前浏览器,须自行导出备份。

v3.3.8

Choose a tag to compare

@YuHao2006 YuHao2006 released this 08 Nov 18:02

v3.3.8

本次为兼容修复更新,继续使用 DAT64 v4/schema 0x10745,可读取现有 v4 存档。v5 改造暂缓。

游戏修复

  • 普通出怪改用关卡时钟上的预期刷新时间:普通间隔为25~31秒,达到血线后缩短到2秒。大波预告与实际刷新分别计时,修复可变步长下红字后过快刷新、轮次提前结束的问题。
  • 读写存档时沿用原字段的剩余纳秒表示,在读档后重建预期时间;不改变存档布局。
  • 修复夜晚高潮音乐进入释放阶段时读取旧倒计时,导致高潮声部立即归零的静音问题。共享音乐逻辑同时覆盖原生与网页。
  • 横板 UI 的铲子紧排在实际卡槽后,传送带按完整容量定位;鼠标与触控共用命中区域。
  • 横板 UI 关闭卡牌鼠标悬停提示,桌面布局保持原行为。

网页及存档工具

  • 自定义存档完全脱离游戏运行模块。独立 wasm32 转换器处理格式校验与读写,JavaScript 负责编辑、布阵和界面;无需启动游戏、图形接口、音频或加载游戏资源包。
  • 修复部分宿主已解压 gzip 内容后,工具再次解压造成的 Failed to fetch。生成所需模板随工具脚本打包,消除单独模板请求。
  • 冒险模式统一使用 game<ID>_0.dat64 槽位,关卡从目标用户的冒险进度读取;删除无意义的重复关卡输入框。生成关卡不会修改用户进度。
  • 保留 wasm32/wasm64 与 WebGL 2/WebGPU 四运行时,共用设置、资源和存档。独立存档工具始终使用 wasm32。
  • 工具源码见 PvzDevTools,游戏仓库仅附带构建后的工具。

验证与下载

已执行可变步长出怪、夜晚音乐、横板铲子命中、独立工具转换/生成/编辑回归。生成器覆盖六场景及多模式,验证未访问游戏模块、图形或音频。B站 gzip 重复解压问题已在实际地址复现。

提供 Windows 10/Vulkan 1.3、Windows 7/OpenGL 3.3、Android 14/Vulkan 1.3、Android 7/Vulkan 1.0 和网页版,并附完美存档与无尽基准。请成套更新程序和资源。未新增旧设备实机覆盖,不将桌面自动化测试等同于全部浏览器或手机验证。

v3.3.7

Choose a tag to compare

@YuHao2006 YuHao2006 released this 08 Nov 11:30

v3.3.7

DAT64 v4/schema 0x10745 不变。请成套更新程序和资源。

网页

  • 主设置区增加默认关闭的“全解锁”:复用现有两个投币/作者本人许可检查。开启后开放已实现的小游戏、解谜、生存关卡及 Limbo 入口,不改写用户解锁进度;关闭后按用户存档判断。原生设置名为 unlockAllLevels,游戏内无新增设置控件。
  • 检测到 Memory64 支持且包中包含对应运行时,默认选择 wasm64;否则使用 wasm32。忽略旧版自动留下的32位选择,保留新的手动覆盖选项。四个运行时共享资源、设置和存档。
  • 高级选项增加“植物动画卡死修复”。仅在游戏未运行时,在隔离工具实例中匹配已验证的玉米加农炮零计时末帧坏档特征。命中后下载原档备份,允许下载修复副本或确认写回本地;没有匹配则不修改。不在游戏更新/普通读档路径中自动修复。
  • 音乐状态查询超时不再销毁音频节点,暂用缓存状态避免重复等待;回信恢复后重新同步。真实解码错误仍报告。此项修复确定存在的失声路径,仍需 B站宿主反馈验证。

原生及共享 UI

  • 恢复花园 GridItem 工具动画在1073双更新下的等效播放速率;不重新执行两次更新。
  • 主菜单向日葵周目数提示支持触控点按后保持显示,松手不隐藏,点击其他区域才关闭;不修改鼠标坐标或存档。
  • 拉霸文字跟随机器的坐标锚点,禁用的选卡开始按钮不触发悬停文字高亮。
  • 恢复关卡选择页石头标题栏投影;取消本轮尝试恢复的灰色内框,未添加文字投影。

“自制关卡”仍为未实现的隐藏占位,不受全解锁开关影响。

下载与边界

提供 Windows 10/Vulkan 1.3、Windows 7/OpenGL 3.3、Android 14/Vulkan 1.3、Android 7/Vulkan 1.0,以及四运行时网页版。完美档与无尽基准另附,存档格式不变。

本轮使用桌面构建和自动化回归验证;未新增 Android/Win7 原设备实测。网页音乐恢复仍需 B站宿主反馈,不据桌面测试宣称已解决全部 iPhone 或宿主异常。

v3.3.6

Choose a tag to compare

@YuHao2006 YuHao2006 released this 08 Nov 07:31

v3.3.6

本版修复植物攻击计时及网页动态音乐,统一 WebGL 检测与实际启动配置。
DAT64 v4/schema 0x10745 的磁盘格式不变;请成套更新程序和资源。

游戏修复

  • 植物攻击内部使用外部传入时间与预期结束时刻判断事件,不再逐拍扣减射击倒计时。跨过发射与到期边界时继续执行收尾,等待动画完成期间保留有效期限,避免植物保持末帧后攻击停止。
  • 自动发射仍从上一轮预期时刻安排下一轮,保留越过期限的时间,不因清零重置累计延长攻击周期。
  • 不在游戏内自动修复旧坏档;已损坏的玉米炮零计时末帧状态使用独立 PvzDevTools 修复工具另存处理。ICE3/ICE4 的僵尸事件顺序保持不变。

网页修复与运行时

  • 自定义存档的用户进度页新增“新增完美存档用户”:自动分配空闲 ID,填入随包完美档的全部进度与购买状态,保留已有用户和关卡;不必逐项修改。

  • Web 音频适配实现 MUSIC_PSCALER=4。鼓声进入、退出及暂停恢复使用正确的音乐位置尺度;解码器缓存和跳转位置保持原始行号。原生 BASS 路径不变。

  • WebGL 检测与实际启动统一申请 RGBA、无深度、无模板、无多重采样表面,消除两套参数导致的误判。模拟驱动回归通过;OPPO A3x 5G/ColorOS 15/天玑 6300 上的 EGL_BAD_MATCH 仍需反馈用户真机确认。

  • 同一个 ZIP 包含 wasm32/wasm64 各自的 WebGPU 与 WebGL 2,共四个运行时。默认 wasm32,支持 Memory64 的浏览器可在高级设置手动选择 wasm64;仅下载选中的运行时,资源、设置和存档共用。

  • 高级选项可导出诊断记录。持续记录默认关闭;关闭时不运行周期采样或写入诊断存储,仍可按需导出当前环境快照。

验证

植物全类型行为、重复冰瓜与玉米炮攻击、攻击期限存读档及 ICE3/ICE4 回归通过。
四种曲目的鼓声控制在 30~1000 FPS 下通过入场、退场和再次触发测试;实际 BASS
与 Web MO3 解码验证通过。四个 Web 运行时通过启动、绘制、正常 Quit、共享设置及
相同 DAT64 解码检查。浏览器模拟验证不替代上述 OPPO 或 iPhone 机型的真机验证。

下载

  • x64-win10-vulkan1.3-v3.3.6.zip
  • x64-win7-openGL3.3-v3.3.6.zip
  • arm64-android14-vulkan1.3-v3.3.6.apk
  • arm64-android7-vulkan1.0-v3.3.6.apk
  • wasm-web-v3.3.6.zip:四个 Web 运行时;GitHub 配置绕过 B 站接口。

另附完美用户档、统一无尽基准与资源布局缓存。完美档已购买坚果包扎术。
桌面存档目录为程序目录的 data;安卓为 Android/media/com.openpvz.perf。
GitHub 发布不会自动替换 B 站 Toy,B 站上传包单独提供。

v3.3.5

Choose a tag to compare

@YuHao2006 YuHao2006 released this 07 Nov 16:33

v3.3.5

本次发布四个原生包和网页版。存档格式保持 DAT64 v4/schema 0x10745、USER64 v13,与 v3.3.4 兼容。程序、资源与 shader 应成套更新。

游戏修复

  • 攻击更新跨过发射时刻和收尾时刻时,不再因提前返回而漏掉收尾处理;覆盖玉米加农炮及投手攻击状态。
  • 寒冰菇冻结僵王时保留独立冰球/火球的根运动绑定,冰球继续滚动。每个僵王同时最多持有一个冰球或火球,字段复用及其约束已写入注释。
  • 僵尸进家后冻结关卡时钟和其他植物、僵尸,仅进家的僵尸由所有者传入 visual 时间,继续播放进家表演。
  • 横板 UI 的卡槽、铲子及右上角 UI 共用 PC 的绘制阶段和队列层级;开场对话阶段,铲子遵守原有升层规则,绘制在戴夫与对话框上方。
  • 核对原版 1073 EXE 与资源,确认罕见的超长噎死动画仍有播放分支,保持原有触发条件,不将其误删为废弃彩蛋。

网页修复

  • 图形能力检测增加实际绘制、混合和纹理采样验证;不提供不可用后端,保留 WebGPU 优先与 WebGL 2 选择。
  • 资源完成后还需确认后续更新与绘制正常推进,补充启动阶段、超时和内存信息,避免只留下无提示黑屏。
  • 音乐工作线程初始化、命令执行或状态同步失败时保留错误原因,停用 BGM 后允许音效和游戏继续;取消遗留等待,下一次正常开始可重试。
  • 页面恢复、再次触摸或按键时恢复被宿主暂停/中断的音频上下文,不增加每帧轮询、不重置音乐进度。
  • 修复夜晚音乐从静音待机段切换高潮段时的解码时序:正在播放的模块跳转后先处理目标行,再接受节拍同步,避免首个音频块把已设置的 BPM/速度改回模块默认值;保留预读样本,不丢帧、不增加逐帧预读。
  • 设置页改用文档原生纵向滚动,改善部分移动 WebView 中无法下滑的问题。
  • 自定义存档使用同源内嵌页面,不再请求可能被 Toy 替换成密码验证页的次级 HTML。
  • 删除阵型等确认操作改用页面内对话框,不依赖宿主可能禁止的原生 confirm();确认按钮不依赖沙箱表单提交权限。
  • 阵型库使用完整 JSON 快照,保留删除结果及空列表;支持 JSON 导入/导出及独立的 Toy 云端键值备份。关卡 DAT64 仍只在本地保存。
  • 增加可选运行诊断,正式包默认关闭。启用后有限保留运行状态,可在异常退出后导出上一段记录;不上传诊断、不包含账号或存档。

下载

  • x64-win10-vulkan1.3-v3.3.5.zip
  • x64-win7-openGL3.3-v3.3.5.zip
  • arm64-android14-vulkan1.3-v3.3.5.apk:Android 14、Armv9-A、Vulkan 1.3 及所需 descriptor indexing 能力,不要求 SVE/SVE2。
  • arm64-android7-vulkan1.0-v3.3.5.apk:Android 7、Armv8-A、Vulkan 1.0。
  • wasm32-web-v3.3.5.zip:GitHub 配置绕过 B 站接口,完整解压后通过附带本地服务器启动;不要直接使用 file://。

附带生成的完美进度与由原版转换的无尽基准。完美进度已购买坚果包扎术;桌面存档目录为程序目录下的 data,安卓为 Android/media/com.openpvz.perf。更新前建议自行保留正在进行的关卡。

验证范围与待调查反馈

不宣称本版已经解决所有设备上的 WebAssembly 内存分配失败、启动资源超时、iPhone 17 Pro Max 数分钟后退出或 iPhone XR 音效不同步;这些反馈尚需对应设备记录。本次 GitHub 发布不自动更新 B 站 Toy,独立诊断包也不作为正式附件。

版本号规则:第一个数表示破坏性更新,第二个数表示功能更新,第三个数表示 bug 修复。

v3.3.4

Choose a tag to compare

@YuHao2006 YuHao2006 released this 07 Nov 08:01

v3.3.4

本次提供四个原生包和网页版。网页附件为后续补充发布,原有四个原生附件与 v3.3.4 标签保持不变。

修复

  • 桌面与横板 UI 的传送带选中框遵守传送带范围,不再越过边缘。
  • Credits 取消固定 800×600 的外层裁剪,保留分镜合成所需的局部遮罩;背景偏移不变,结尾黑色遮罩覆盖整个窗口。
  • 修复给蜗牛喂巧克力后,在转身动画中错误计算移动根轨道而崩溃的问题。仅爬行状态计算水平位移,沿用原有状态判断。
  • 所有图集装箱的宽、高上限均设为 4096。超过上限的字体长条在字形边界折行,保持字形像素、字宽、字距和偏移,不在运行时缩图;对应布局缓存同步提供。
  • 超出设备纹理上限时,错误提示包含实际尺寸与设备上限,不再固定写成 Vulkan 设备错误。

下载与兼容性

  • x64-win10-vulkan1.3-v3.3.4.zip
  • x64-win7-openGL3.3-v3.3.4.zip
  • arm64-android14-vulkan1.3-v3.3.4.apk
  • arm64-android7-vulkan1.0-v3.3.4.apk
  • wasm32-web-v3.3.4.zip

更新时同时更换程序与 main.pak64,不要混用旧资源包。存档格式仍为 DAT64 v4/schema 0x10745,与上一版本兼容;v1.x/v2.x 程序及资源包不兼容本版本,旧关卡档请先使用附带转换器转换。

完美存档已购买坚果包扎术,无尽基准由原版基准重新转换。桌面版存档位于程序目录的 data 子文件夹,Android 存档位于 Android/media/com.openpvz.perf。安装 Android 包会在首次启动时准备附带的完美存档及无尽基准,保留已有用户资料。

版本号规则:第一个数表示破坏性更新,第二个数表示功能更新,第三个数表示 bug 修复。

网页版

  • WebGPU 与 WebGL 2 两个后端共用资源、设置及本地存档;启动前检测能力,不显示不可用后端。仍不适配 WebGL 1。
  • 所有图片宽、高不超过 4096;OGG 使用随 Wasm 编译的解码器,补充初始化超时、图形上下文丢失等错误反馈。
  • 同一页面会话中重复开始与 Quit 复用运行时,不重复准备资源和存档。正常退出后同步浏览器数据库;失败时保留内存数据,并显示“重试本地保存”。
  • 用户进度支持本地独立备份;B 站配置还可通过 Toy 云存储备份用户资料。关卡 DAT64 始终只在本地,由用户自行导入/导出备份。
  • “自定义存档”以用户进度为首页,支持用户增删、改 ID/名称、编辑进度;ID 修改迁移所属关卡文件。移除领取完美存档入口,保留未编辑的花园与大头贴数据。
  • 布阵器支持六场景、阵型删除、无尽旗数/种子/阳光、自定义关卡文件名及模式对照。冒险另设 1~50 的关卡,并同步目标用户进度;隐藏关及四种隐藏无尽归入 limbo 折叠区。
  • “开始游戏”“上传云端”“从云端恢复”位于顶部,上传时红字提醒;图形接口、画面比例、显示帧率收进默认折叠的“高级”。

GitHub 网页 ZIP 绕过 B 站接口,不要求登录或投币;云端功能仅用于 B 站宿主配置。B 站配置的自定义存档入口仍检查指定视频投满两个币或作者身份,弹窗内不重复查询。此处没有更新 B 站作品。

完整解压后运行 start-local.cmd(Windows,需 Python 3)或 start-local.sh,通过 localhost 打开,不要直接以 file:// 打开。WebGPU 需要 HTTPS 或 localhost;普通 HTTP 局域网通常使用 WebGL 2。存档位于当前来源的浏览器 IndexedDB,清除网站数据会删除本地进度。

网页补充源码以 ZIP 内 web-build-manifest.json 的 source_commit 和源码链接为准,修改器产物同时附带 PvzDevTools 来源及校验值。存档格式保持 DAT64 v4/USER64 v13,没有新增格式变更;不宣称未经实测的性能提升。

v3.3.3

Choose a tag to compare

@YuHao2006 YuHao2006 released this 06 Nov 10:00

v3.3.3

修复

  • 横板 UI 中,模仿者已进入卡槽时,选卡区的模仿者按钮正确变灰。

原生版本相较 v3.3.2 只包含上述游戏修复,存档格式仍为 DAT64 v4/schema 0x10745,没有新增破坏性格式变更。

下载

  • x64-win10-vulkan1.3-v3.3.3.zip
  • x64-win7-openGL3.3-v3.3.3.zip
  • arm64-android14-vulkan1.3-v3.3.3.apk
  • arm64-android7-vulkan1.0-v3.3.3.apk
  • wasm32-web-v3.3.3.zip

完美存档和无尽基准继续提供;完美用户档已购买坚果包扎术。桌面存档位于程序的 data 子目录,Android 存档位于 Android/media/com.openpvz.perf。

网页包

网页包包含 WebGPU 和 WebGL 2 两个平级后端,默认优先 WebGPU,不可用时使用 WebGL 2,也可在启动页手动选择。两后端共用同一份资源和浏览器存档,只加载所选运行时。WebGPU 使用参照 Vulkan 1.3 整理的采样、过滤与混合 shader,保留两套动态帧资源和可选双源混合;不宣称未经手机实测的性能收益。

GitHub 包绕过 B 站接口,可以本地运行。解压后运行 start-local.cmd 或 start-local.sh,再在浏览器打开本机地址;不能直接以 file:// 打开。WebGPU 需要安全上下文(HTTPS/localhost)。

B 站包仅在点击“领取完美存档”和“自定义无尽”时检查是否给 BV1hV4P6PEDc 投满两个币,或是否为作者本人;视频按钮优先使用 Toy SDK 的视频跳转。GitHub 包不要求登录或投币。

网页进度存于当前网站来源的 IndexedDB,虚拟路径 /persist/development-v331/。切换后端保留存档,不同浏览器/来源不共用。清除网站数据会删除进度;自定义无尽支持 DAT64 导出。包内清单记录源码提交和文件校验值。

网页附件补充修复:手机触控不再依赖 SDL 键盘焦点,点击画布可在宿主未响应焦点请求时恢复游戏输入。手机 UA 默认目标为 60 FPS,并标注为建议值;手机 B 站环境不检测刷新率、不自动跟随,仍可手动调整目标帧率。WebGL 和 WebGPU 均已通过模拟失焦恢复测试,B 站手机实机行为仍待验证。

本次只替换网页附件及校验记录,四个原生包与 v3.3.3 标签保持不变。网页补充源码以 ZIP 内 web-build-manifest.json 的 source_commit 为准。

网页启动页新增“显示帧率”选项,默认关闭,选择保存在浏览器中;关闭时不启动帧率统计定时器。

版本号规则:第一个数表示破坏性更新,第二个数表示功能更新,第三个数表示 bug 修复。

v3.3.2

Choose a tag to compare

@YuHao2006 YuHao2006 released this 05 Nov 18:05

v3.3.2

本次发布四个原生平台包:x64-win10-vulkan1.3、x64-win7-openGL3.3、
arm64-android14-vulkan1.3、arm64-android7-vulkan1.0。Web 源码进入本次提交,
仍属试验平台,不上传 Web 发行包,也不更新已上传的 Toy。

修复

  • 横板 UI 的卡牌冷却闪光不再提前退出教学推进。冒险 1-1 种植豌豆射手、1-2
    种植向日葵后能结束相应提示;成功种植也能推进停留在取卡/等待冷却状态的教学。
  • 冷却中的卡牌统一浅灰显示,不再随阳光是否足够改变。冷却结束后仍按阳光和种植条件
    判断可用性;桌面与横板布局共用规则。
  • 重新生成完美用户档与泳池无尽基准附带的用户资料,补上坚果包扎术购买标记。
    四个平台的整包均附带这份完美进度和统一无尽起点。
  • 重新构建 Win7/OpenGL:两套动态顶点流轮换,支持 core 3.2/ARB_sync 时
    零等待检查对应 fence,未完成仅延期绘制;移除主画面每帧的 glFinish。
    纹理、图集、场景目标和静态索引继续共用,不复制整套素材。

图形后端与 Web 源码

  • Vulkan 保留双槽位、非阻塞复用;GL/WebGL 共用双槽位实现。旧 GL 3.0
    无 ARB_sync 时保留驱动管理的 BufferData 存储替换,不硬要求新入口。
  • DX12 分离两套 allocator、command list、动态上传流、临时描述符和延迟释放资源;
    纹理描述符只向空闲帧槽同步发生变化的项。DX9 使用两个 event query 和动态顶点流。
  • Metal 源码加入双槽位及可复用的顶点/argument buffer,四顶点矩形共用静态16位索引。
    本机无 Apple SDK 或 Metal 设备,该部分未经编译及实机认证,不发布 Metal 二进制。
  • Web 改为配合 requestAnimationFrame 调度,避免计时器循环在浏览器两次重绘间反复提交。
    修复 MO3 定位后首行命令覆盖恢复速率的问题,覆盖读档与暂停恢复;原生 BASS 不受影响。
  • Web 两个领取入口默认检查关注状态,作者本人可通过;离线配置绕过检查。
    阵型清单当前仅含泳池无尽测试基准,去除 Edition/性能版字样。

OpenGL、DX12、DX9 渲染回归及浏览器回归分别验证,不把某一后端的结果用于替其他后端背书。
没有重测无尽整局收益;桌面受控绘制小测试不作为新的正式整局性能数据。

存档与平台

继续使用 DAT64 v4(schema 0x10745)、PVZUSR64 v13。本次未增加存档字段,
可以继续使用 v3.3/v3.3.1 的现有存档;导入完美档会替换目标用户资料,导入无尽档
还会替换相应关卡进度。每次性能比较前请重新导入统一起点。

仍沿用 v3.0 对 v1.x/v2.x 的资源和存档不兼容边界。旧档须使用附带转换器,
程序、shader 与 main.pak64 请使用同一发行包,勿跨版本混配。

Android 14 包要求 Vulkan 1.3,Android 7 包使用 Vulkan 1.0 兼容路径;
两个 APK 均关闭 HDR。Windows 默认自动跟随屏幕刷新率、不启用横板 UI;
Android 首次创建配置时默认跟随刷新率并启用横板 UI,已有配置不覆盖。

附件

  • 四个完整程序包。
  • 独立完美存档、泳池无尽基准和二者合包,完美档 readme 包含桌面/Android 存档目录。
  • 图集布局缓存和构建校验记录。

本次不将不同测试条件下的帧率或功耗差值宣传为新的性能收益。