Repository navigation
Motion Stabilizer v2.9.0
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
- 下载
MotionStabilizer-v2.9.0-win-x64.zip(62.9 MB) - 解压到任意目录
- 双击
MotionStabilizer.exe即可运行(单文件自包含,无需安装 .NET) - 重点 !!!:在游戏中请使用快捷键操控叠加层、准星和时钟
⚠️ 注意事项
- 全屏独占模式:部分游戏的全屏独占模式(Exclusive Fullscreen)下叠加层可能无法显示。请将游戏切换为无边框模式或窗口模式即可正常使用。
- 管理员权限说明:如果 Steam 或游戏以"管理员身份"运行,MotionStabilizer 也需要以管理员身份运行,否则动态圆点可能不跟随鼠标、全局热键也可能失效。这是 Windows 的权限隔离机制,不是程序故障。
- 手柄 / 键盘安全:手柄与键盘控制功能严禁在带有 Vanguard、EAC、BattlEye 等反作弊系统的联机游戏中使用(转接工具产生的虚拟手柄同样请勿用于联机游戏),仅限单机游戏开启。
- 手柄无响应数据提示:若勾选手柄控制后弹出此提示,表示手柄已连接但未收到输入数据——请确认手柄已开机唤醒、Steam Input / BetterJoy 转接正常,或重新插拔手柄。
- 配置文件损坏:若启动时提示配置文件无法读取,程序会以默认设置继续运行,损坏文件已自动备份为
Default.corrupt-<时间戳>.json(位于%LocalAppData%\MotionStabilizer\Profiles\),可自行检查或删除。
🔐 校验 / Checksum
SHA-256:075EF704D4F07A70D04868CC86FA0E3E78E01139E3AA22B29C658BD031D33978
certutil -hashfile MotionStabilizer-v2.9.0-win-x64.zip SHA256