From my understanding Jarcho started rewriting motion prediction part of D2DX wrapper in Rust. He made it into separate module and multiple patches are supported (quite a list): 1.00, 1.01, 1.02, 1.03, 1.04b, 1.04c, 1.05a, 1.05b, 1.06a, 1.06b, 1.07, 1.08, 1.09a, 1.09b, 1.09d, 1.10, 1.11a, 1.11b, 1.12, 1.13c, 1.13d, 1.14c, 1.14d.
Description from: https://github.com/Jarcho/d2-rs/tree/main/d2fps
Binaries can be downloaded from here: https://github.com/Jarcho/d2-rs/releases
Binaries on its own won’t work, since you need to inject .dll (usually via D2Win.dll or Fog.dll). I presume it won’t be compatible with Singling due to conflicting FPS/CPU patches. I only tested it on patch 1.13c so far, but motion smoothing implementation seems to be less buggy compared to original D2DX codebase.
Description from: https://github.com/Jarcho/d2-rs/tree/main/d2fps
D2fps
D2fps is a multi-version framerate unlocker for Diablo II.
Features
- Unlocks the framerate both in-game and in-menu.
- Builtin frame limiter. No need for v-sync to be enabled.
- Auto-detects the refresh rate of the monitor the game is currently displayed on.
- CPU-use fix both in-menu and in-game. Diablo II will no longer run a single core at 100% use.
- Motion smoothing when running at framerates other than Diablo II’s native 25fps.
Compatibility
Supports almost all Diablo II versions and all video modes. The following versions are currently not supported: 1.04, 1.09c, 1.10b, 1.10s, 1.13a, 1.13b, 1.14a, 1.14b
Others
There is some compatibility for patching over other framerate and CPU-use patches as well as re-patching after the game has loaded. There is no guarantee this will work so it’s best to disable them if possible.
All other mods should be compatible.
Use
Installation
Extract d2fps.dll into the Diablo II folder and have the dll loaded via some external method. PlugY can be used by adding it to either DllToLoad or DllToLoad2 in PlugY.ini. The D2ModSystem can bu used by adding d2fps = d2fps.dll to D2Mod.ini.
This mod is included with D2DX.
Configuration
D2fps can be configured via d2fps.ini or the command line. This allows configuring the frame limiter and controlling which features are enabled. See d2fps.ini for more details.
License
D2fps is licensed under the GNU General Public License, Version 3.0
Binaries can be downloaded from here: https://github.com/Jarcho/d2-rs/releases
Binaries on its own won’t work, since you need to inject .dll (usually via D2Win.dll or Fog.dll). I presume it won’t be compatible with Singling due to conflicting FPS/CPU patches. I only tested it on patch 1.13c so far, but motion smoothing implementation seems to be less buggy compared to original D2DX codebase.