NOTE: The game must be patched with the new patcher if updating from a version before 2.0.0
Happy (upcoming) 25th anniversary to THPS3!
I originally wrote this patch in 2022. It was my first time writing any game patch. In the last four years or so, I've learned a ton about patching games and putting together a project like this and was dissatisfied with the state of the code in this project. Over the last year or so I rewrote the whole patch in Rust and spent some time pursuing every fix that I've wanted in the game.
I wrote a little bit more about this release here: https://partymod.newnet.city/writeups/4.html
Changes
- Fully rewritten in Rust
- Upgraded to SDL3
- Restored pedestrian shadows
- Restored shiny surfaces/pseudo environment maps
- Restored broken texture animations (e.g. airport arrivals boards and moving walkways) (#23, #25, #28)
- Levels are now patched at runtime to restore proper face cull mode information (#27)
- Fixed broken blend modes (e.g. suburbia brick wall dirt, airport arrivals boards. man those were really busted) (#23, #24)
- Fixed shadows being the incorrect blend mode and also showing Darth Maul's lightsaber (#12)
- Skater shadow is now replaced with a pedestrian blob shadow when the "Shadows" setting is turned off, replicating the "High Quality Shadows" setting in later games
- The game and config app now respects scaled displays
- Rewrote movie player with modern Windows Media Foundation API, now it can play fullscreen (with black bars), respects the player’s audio settings, and silently fails when codecs aren’t present (e.g. when running in Proton)
- Removed setting to disable movie player now that it won’t terminate the game when it fails
- Restored controller vibration
- Pressing camera toggle now only triggers a single camera toggle
- Added selectable button glyph styles (PS2, Japanese PS2, and Xbox styles are available)
- Park editor can now be controlled with controller (#9)
- Online pause menu can now be dismissed with controller
- Music no longer skips track when paused (#14)
- Streams (e.g. pedestrian voices) now respect the volume setting and have proper distance falloff
- Added keybind (F11) to toggle the HUD for taking screenshots
- Game version (the one used online, not the one on the main menu) is now provided by the game itself instead of retrieved from the registry, making online connection more reliable (#20)
- Game version is now set to 2.00 by default to prevent crashes related to extended limits on unmodified clients/servers
- Graffiti mode tags are no longer limited to only 32 tags in one combo
- The setting to disable the trick limit has been removed. In its place is a compatibility mode that restores the trick and tag limits and sets the game version to 1.01
- IL Mode can now be toggled from a launch flag,
-ilmode, great for creating a practice shortcut - The game will no longer exhaustively and pointlessly clean up all of its resources when shutting down, making shutdown much faster
- Added logging settings available in
partymod.ini, with the ability to set a logging level and to optionally log to file - Added a launch flag to use an alternate save file,
-profile <name>, useful for speedrunners who wish to have a setup for runs and one for casual play.