这是我用C#为《人间地狱》编写的DMA代码。
第一次使用 DMA 卡 / Fuser,玩得很开心。效果很好即使在 100 名玩家的对局中也能运行。
代码里还有一个 VmmTypedScatter 类,可能对某些人有帮助。对于 DMA 卡来说,分散式内存读取是关键。我测试了不使用分散读取和使用分散读取的情况,差异非常大。
如果你成功实现了可见性检查,请告诉我你是怎么做的。我稍微尝试了一下,但目前还没能让它工作。
屏幕尺寸是针对我的分辨率硬编码的。你可能需要修改它。
对于未来的游戏更新,你可能只需要更改 HllOffsets.cs 文件中的 GWorld 地址。
这是只读 DMA,不会对目标计算机进行任何写入操作。
功能:
方框
距离
武器
自身弹药数量