Skip to content

lostine/wartool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wartool

魔兽争霸3 辅助工具 - 窗口化全屏、FPS显示、帧率解锁、字体重叠修复、视距调整

功能特性

  • 无边框窗口全屏 - 将窗口模式转换为无边框全屏,支持流畅的Alt+Tab切换
  • FPS显示 - 在游戏中显示当前帧率
  • 帧率解锁 - 解除60FPS限制,支持高刷新率显示器(推荐OpenGL模式下启动游戏)
  • 字体重叠修复 - 游戏设置1080P以上分辨率文字会重叠,按END键修复
  • 视距调整 - 调整游戏相机距离,支持 +/- 键调整(放大/缩小),* 键重置

使用方法

  1. wartool.m3d 文件复制到魔兽争霸3...\Warcraft III\redist\miles 目录下
  2. 启动魔兽争霸3时添加 -window 参数(窗口模式)
  3. 工具会自动加载并应用所有功能

特别说明

  • 纯AI编写 所有功能均由AI编写,已经过实机测试

支持版本

  • 魔兽争霸3 1.24e
  • 魔兽争霸3 1.27a

编译说明

环境要求

  • Visual Studio 2022
  • Windows SDK 10.0
  • MSBuild

编译步骤

MSBuild wartool.sln /p:Configuration=Release /p:Platform=Win32

编译完成后,wartool.m3d 将生成在 output 目录中。

项目结构

wartool/
├── src/                    # 源代码
│   ├── dllmain.cpp         # DLL入口点
│   ├── helper.cpp/hpp      # 插件管理器
│   ├── game/               # 游戏相关
│   │   ├── warcraft.cpp    # 游戏接口
│   │   └── version.hpp     # 版本定义
│   └── plugin/             # 插件目录
│       ├── borderless.cpp  # 无边框全屏
│       ├── showfps.cpp     # FPS显示
│       ├── unlockfps.cpp   # 帧率解锁
│       ├── windowfixer.cpp # 窗口修复(字体重叠)
│       └── camera.cpp      # 视距调整
├── 3rd/                    # 第三方库
│   └── Detours/            # Microsoft Detours
├── output/                 # 编译输出
└── wartool.sln             # 解决方案文件

技术细节

无边框全屏实现

通过修改窗口样式实现无边框效果:

  • 使用 0xFF3BFFFF 掩码清除 WS_CAPTIONWS_THICKFRAME 样式
  • 设置窗口位置和大小为屏幕分辨率
  • 监控线程持续检查窗口状态,防止被重置

FPS显示

修改游戏内存中的显示标志位:

  • 1.24e: Game.dll + 0x34B248
  • 1.27a: Game.dll + 0x397E5A

帧率解锁

  • 修改垂直同步设置
  • 支持 Direct3D 和 OpenGL 两种渲染模式

字体重叠修复

按 END 键重置窗口,修复高分辨率下的文字渲染问题。

视距调整

通过修改游戏内存中的相机距离参数实现:

  • 放大视距(看得更近):按 + 键(小键盘或主键盘)
  • 缩小视距(看得更远):按 - 键(小键盘或主键盘)
  • 重置视距:按 * 键(小键盘)
  • 调整范围:250 - 3050(默认 1650)
  • 调整步长:每次 100

内存地址:Game.dll + 0x93645C

许可证

MIT License

致谢

About

古董游戏魔兽争霸3经典版辅助插件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors