RunicInventoryFix
[AI-generated] NOT a bug in either mod: RunicInventory and Stackmaster simply both use LeftAlt. Stops RunicInventory's mouse lock gesture from swallowing InventoryGrid.OnRightDown, which silently killed Stackmaster's Alt+mouse. Client-only.Changelog
1.0.1
仅对齐依赖元数据,代码零改动。
- 声明依赖
Chazman-RunicInventory由 1.1.9 → 1.1.11(原有声明停在 1.1.9,已落后两个版本)。 - 依赖声明同步为
denikson-BepInExPack_Valheim-5.4.2351(当前实装版本)。 - 破补目标复核(2026-10-15,成员级 + 签名级):
- RunicInventory 1.1.11 的 DLL 与 1.1.10 逐字节相同
(SHA-256 均为
1bfa57f68c0f15e89d2d56bf505c2544bfaa39beef75e64a83aef1d971ee095a); RunicInventory.Integration.InventoryRuntime.TryTogglePointerLock仍为实例方法 / 返回 bool / 2 个参数(grid, clicked),与运行时签名校验一致。
- RunicInventory 1.1.11 的 DLL 与 1.1.10 逐字节相同
(SHA-256 均为
- ✅ 因此运行时行为与 1.0.0 完全一致,本版不含任何功能性变更。
1.0.0
首次发布。
⚠️ 这不是 bug。
Chazman-RunicInventory与JStack424-Stackmaster两个模组本身都没有问题, 它们各自都完全按设计工作。只是两个独立开发的模组恰好都把LeftAlt选作修饰键, 属于纯粹的「按键撞车」。原模组作者不应被追责,本补丁与两位作者无任何关系、 也未经其同意或审查。详见 README 顶部的适用性声明。
- 目标:解决两个模组的「Alt + 鼠标」按键撞车(表现为 Stackmaster 的手势静默失效)。
- 做法:给
RunicInventory.Integration.InventoryRuntime.TryTogglePointerLock挂一个 Prefix 并跳过原方法(__result = false,return false)。 该方法在 RunicInventory 1.1.9 里只有一个调用点 (InventoryGridRightClickLockPatch.Prefix,已用member_refs_dll.py反查确认)。 - 效果:RunicInventory 的鼠标锁格手势不再拦截
InventoryGrid.OnRightDown⇒ Stackmaster 的 Alt+左键 / Alt+右键 恢复正常。 - 刻意保留:RunicInventory 的键盘锁格键(默认
L + LeftAlt)、额外装备行、整理、 拾取过滤、UI、拓扑 —— 全部不受影响。 - 安全设计:
- 目标方法写错/版本不匹配时拒绝打补丁并报错,不做任何改动;
- 打补丁前校验签名(实例方法、返回
bool、2 个参数); - 本工程不引用
RunicInventory.dll,全部反射定位 ⇒ 缺该模组也不会启动失败。
已知未覆盖
- 手柄(Controller)侧的组合键冲突未处理 —— RunicInventory 那边走
ControllerGetButton*+ControllerChordSession,与鼠标手势是两条独立链路。 - 只验证到 RunicInventory 1.1.9 / Stackmaster 1.1.4。
