The water wheel works by creating a graph that calculates speed at any given point of time. The issue, however, is that if I base the speed of the water wheel based on how much time has passed, the water wheel might spin uncontrollably and land in places that weren't intended. To account for that, the water wheel locks your frametime before generating the animation and saves it.
This becomes an issue if you are playing the game with V-Sync off or have a slow computer. V-Sync being off gives significant unpredictability to your own framerate. Your framerate will likely drop after the animation starts, causing the animation to go slower than usual (though anything could happen). A slow computer has a different story. If your FPS isn't capped, it will likely drop with the animation and thus make it run slower.
This could be fixed by switching to a Distance graph. Instead of figuring out the speed at any given time, the mod would calculate the distance the water wheel should have moved at any given time. This allows the mod to not depend on a locked time delta, making it run well for users even without V-Sync and unpredictable framerates.
Unfortunately I still don't know how to do this. I have a feeling implementing something like this would require calculus knowledge - something that I don't really have.
The water wheel works by creating a graph that calculates speed at any given point of time. The issue, however, is that if I base the speed of the water wheel based on how much time has passed, the water wheel might spin uncontrollably and land in places that weren't intended. To account for that, the water wheel locks your frametime before generating the animation and saves it.
This becomes an issue if you are playing the game with V-Sync off or have a slow computer. V-Sync being off gives significant unpredictability to your own framerate. Your framerate will likely drop after the animation starts, causing the animation to go slower than usual (though anything could happen). A slow computer has a different story. If your FPS isn't capped, it will likely drop with the animation and thus make it run slower.
This could be fixed by switching to a Distance graph. Instead of figuring out the speed at any given time, the mod would calculate the distance the water wheel should have moved at any given time. This allows the mod to not depend on a locked time delta, making it run well for users even without V-Sync and unpredictable framerates.
Unfortunately I still don't know how to do this. I have a feeling implementing something like this would require calculus knowledge - something that I don't really have.