Skip to content

Motion Stabilizer v2.9.0

Choose a tag to compare

@shsr07 shsr07 released this 22 Sep 07:44
· 18 commits to main since this release
616583f

MotionStabilizer v2.9.0

✨ 新增功能 / New Features

  • 叠加层描边:可选的一圈对比色轮廓(白 / 黑 / 自定义,粗细 0.5–5 px),同时作用于边缘叠加形状(长杆 / 方框 / 圆顶 / 旗帜)与动态圆点。在雪地、沙漠、白天场景等高亮背景下显著提升叠加层可见度。默认关闭。
  • 鼠标控制开关:可单独关闭鼠标对动态圆点的控制。关闭后程序完全不再注册 Raw Input,不再接收任何鼠标输入;键盘与手柄控制不受影响。默认开启,该设置会随配置保存。
  • 叠加层描边相关快捷键:新增「开关叠加层描边」与「叠加层描边颜色循环 (白→黑→自定义)」两项绑定,默认不占用按键,需要时可在「快捷键绑定」页面自行指定。
  • 快捷键批量管理:「快捷键绑定」页面顶部新增清除所有快捷键与恢复默认快捷键两个按钮(均会先确认)。想把 F1–F10 还给游戏,一键即可。

🧪 改进 / Improvements

  • 配置文件语义澄清:「当前配置」是你正在使用的配置,每次改动自动保存;「保存配置文件」是把当前配置另存为一个只读快照;「加载配置文件」会用该快照覆盖当前配置(加载前会确认,可勾选不再提示)。
  • 移除「自动保存设置变更」开关:该开关实际同时控制使用中与退出时的保存,关掉后退出会丢失全部设置,与标签描述不符。现已改为始终自动保存,想恢复出厂设置请使用「重置全部设置」。
  • 保存方案不再预填 Default:过去保存对话框默认填写工作区名称,用户以为在新建方案,实际覆盖了当前配置。现在留空;方案列表中也不再混入工作区;没有方案时给出明确提示而非按钮无反应。
  • 动态圆点设置面板重排:按「输入源 / 点阵外观 / 视觉效果 / 性能」分段,每个输入开关后紧跟其专属滑条,关闭即收起。所有条件显示统一由一处控制,不再出现"仍在使用的行被隐藏"。
  • 色彩与透明度面板优化:自定义色块改为带调色板图标(不再依赖写在某个色块旁的说明文字),预设色块、自定义色块、滑条之间拉开间距做视觉分区。
  • 276 个单元测试全部通过 ✅(新增点阵布局哈希、热键批量操作与绑定表完整性测试)

🐛 bug 修复 / Bug Fixes

  • 修复拖动不透明度滑条会导致整个点阵重建、运动被打断的问题:布局哈希误把绘制期属性(不透明度、左右侧)计入,现已只保留几何量,并加了测试锁住这条规则
  • 修复配置文件损坏时程序无法启动的问题:现在降级为默认设置正常启动,损坏文件自动隔离备份为 Default.corrupt-<时间戳>.json,同时写入 error.log 并提示文件位置
  • 修复配置文件中存在显式 null 字段(如 "Overlay": null)导致启动崩溃的问题
  • 修复关闭鼠标控制后「鼠标与手柄转动灵敏度」滑条被一并隐藏的问题:手柄右摇杆共用该灵敏度,只要鼠标或手柄任一启用就该显示
  • 修复启动失败时不写入 error.log 的问题

🏗️ 架构 / Architecture

  • 描边渲染分两种策略:矩形(长杆杆身、方框四边)采用双层底衬法——先画放大的描边色实心矩形再覆盖填充,因为方框由四条重叠矩形拼成,逐矩形描边会在框内画出横穿的线;路径(长杆尖端、圆顶、旗帜)采用双倍宽度的 Stroke,使外侧露出宽度与底衬一致。
  • 绘制期属性一律不进布局哈希:不透明度、描边颜色与粗细都在绘制时生效,不参与点阵布局计算,并有单元测试守护。
  • 枚举序列化约定:已发布并被序列化进配置文件的枚举成员只允许追加,不得改名或删除——System.Text.Json 遇到未知成员名会抛异常,而工作区配置是启动时加载的,一次改名会让所有老用户无法启动。

下载与使用 / Download & Usage

  1. 下载 MotionStabilizer-v2.9.0-win-x64.zip(62.9 MB)
  2. 解压到任意目录
  3. 双击 MotionStabilizer.exe 即可运行(单文件自包含,无需安装 .NET)
  4. 重点 !!!:在游戏中请使用快捷键操控叠加层、准星和时钟

⚠️ 注意事项

  1. 全屏独占模式:部分游戏的全屏独占模式(Exclusive Fullscreen)下叠加层可能无法显示。请将游戏切换为无边框模式或窗口模式即可正常使用。
  2. 管理员权限说明:如果 Steam 或游戏以"管理员身份"运行,MotionStabilizer 也需要以管理员身份运行,否则动态圆点可能不跟随鼠标、全局热键也可能失效。这是 Windows 的权限隔离机制,不是程序故障。
  3. 手柄 / 键盘安全:手柄与键盘控制功能严禁在带有 Vanguard、EAC、BattlEye 等反作弊系统的联机游戏中使用(转接工具产生的虚拟手柄同样请勿用于联机游戏),仅限单机游戏开启。
  4. 手柄无响应数据提示:若勾选手柄控制后弹出此提示,表示手柄已连接但未收到输入数据——请确认手柄已开机唤醒、Steam Input / BetterJoy 转接正常,或重新插拔手柄。
  5. 配置文件损坏:若启动时提示配置文件无法读取,程序会以默认设置继续运行,损坏文件已自动备份为 Default.corrupt-<时间戳>.json(位于 %LocalAppData%\MotionStabilizer\Profiles\),可自行检查或删除。

🔐 校验 / Checksum
SHA-256: 075EF704D4F07A70D04868CC86FA0E3E78E01139E3AA22B29C658BD031D33978
certutil -hashfile MotionStabilizer-v2.9.0-win-x64.zip SHA256