PARTYMANX / partymod-thps3

Mod for THPS3 on PC that fixes several shortcomings
MIT License
34 stars 2 forks source link

Implement anti-aliasing, controller vibration and uncapped framerates? #18

Open jayshai opened 9 months ago

jayshai commented 9 months ago

Is it possible to implement any of these?

Also, would it be possible to for the intro videos to scale to the top of the screen. At the moment, they run with no scaling.

Thanks

PARTYMANX commented 9 months ago

Going down the list: Antialiasing is one I've thought about. I plan to do some more work on making the D3D initialization a bit better, and this was on the list as something that seems pretty trivial to implement.

Vibration has been brought up before. It didn't exist in the original version of the game, so the functions used to control vibration are potentially optimized out of the game entirely. Needs a lot of non-trivial research, but it's on my list to look deeper into.

Uncapped framerates are effectively impossible without breaking the game in major ways or otherwise being a massive endeavor. The gameplay logic, while it does base most of its calculations on the real time between frames, does still have some framerate dependent behavior. Some quick examples are long trick point accrual, script run intervals (I think. THPS4 has this issue but maybe 3 hadn't yet implemented this), and special meter depreciation (based on rounding to an integer, so it's not a trivial "just put delta time in there" modification). So the solution would have to be to run the gameplay logic at 60hz and apply interpolation to the visuals, another thing that is rather difficult. I want to experiment with the idea but I'm not sure it's something I'd ever actually include in the mod.

Video scaling is in desperate need of a revisit. If I recall, the game uses a long-abandoned Windows API to play the videos, and that draws directly to the window with no scaling applied. I'd be surprised if there's not a way to scale that to the window dimensions. If not, I've had rewriting the video player entirely on my list of long shot goals.