找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 25|回复: 2

《命令与征服:尤里的复仇》游戏内视口自由缩放插件

[复制链接]
发表于 8 小时前 | 显示全部楼层 |阅读模式
概述
这是一款针对《尤里的复仇》(Command & Conquer: Yuri's Revenge)运行时环境的视角控制增强插件,通过运行时挂钩(runtime hooking)技术实现对游戏渲染视口(viewport)参数的动态干预,提供平滑、可自定义的视口缩放能力。
插件基于 MinHook 与 Windows API 构建,利用 Syringe(Ares 项目所使用的注入框架)完成注入与生命周期管理,具备良好的稳定性和兼容性。

功能特性
  • 通过鼠标滚轮实现视口连续缩放
  • 缩放范围与步进精度可调
  • 不修改游戏原始可执行文件或资源
  • 对渲染管线无侵入式干预,性能开销极低

系统要求
  • 操作系统:Windows 7 及以上(x86/x64)
  • 游戏版本:《尤里的复仇》1.001
  • 运行环境:Syringe 注入框架(Ares 所依赖版本)

安装
  • 确保游戏目录已配置 Syringe 运行环境(即存在 Syringe.exe 或 gamemd.exe 已通过 Syringe 启动)
  • 将本插件编译生成的动态库文件放置于游戏根目录
  • 通过 Syringe 的插件加载机制启用本模块(具体方式取决于 Syringe 配置策略)
  • 启动游戏即可生效

操作说明
操作功能
鼠标滚轮上滚拉近视口(放大)
鼠标滚轮下滚拉远视口(缩小)
所有缩放参数均为编译期常量,如需调整请修改源代码并重新编译。

兼容性
本插件基于底层 API 挂钩实现,不依赖游戏逻辑层具体实现细节,因此理论上兼容:
  • 原版《尤里的复仇》1.001
  • 其他基于 Syringe 启动的修改版客户端
如遇特定模组兼容性问题,请提交至 Issues 区并提供详细信息。

技术实现
  • 挂钩库:MinHook(提供稳定、跨平台的 x86 内联挂钩支持)
  • 系统接口:Windows API(包括但不限于 GetCursorPos、SetWindowLongPtr、PeekMessage 等用于输入捕获与窗口消息处理)
  • 注入框架:Syringe(Ares 所使用的启动时注入方案,负责 DLL 加载与初始化)
  • 渲染干预:通过对 D3D/DDraw 相关函数或游戏内部视口计算函数实施挂钩,实现缩放参数的实时注入

维护与支持
  • 项目发起者 & 核心作者:ChoyuTsumu (diy:@yuntieqing )
  • 协助开发:Sovietianqi (diy:@星空赤影 )
  • 问题反馈:请使用 GitHub Issues
欢迎提交 Pull Request 或参与讨论。

许可证
本项目采用 GNU General Public License v3.0。详见 LICENSE 文件。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 3 小时前 | 显示全部楼层
这在 CNC DDraw 下不起作用吗?滚动时鼠标光标被锁定在一个矩形区域内,但屏幕画面却没有变化?
回复

使用道具 举报

 楼主| 发表于 3 小时前 | 显示全部楼层
generalshepherd 发表于 2026-8-15 13:37
这在 CNC DDraw 下不起作用吗?滚动时鼠标光标被锁定在一个矩形区域内,但屏幕画面却没有变化? ...

这就是bug,在修了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-8-15 17:34 , Processed in 0.077351 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表