Skip to content

reSOT v0.3.3

Choose a tag to compare

@FulGerNet FulGerNet released this 25 Oct 18:20
· 2 commits to reSOT since this release

reSOT v0.3.3

Windows demo and retail executables and the shared Android APK are version 0.3.3 (Android versionCode 8). You still need your own Xbox game files.

Performance

  • Game and GPU now run in parallel (retail). Before, the game stopped at every GPU submission (KickOff) and waited until the renderer had finished drawing the previous batch and presenting it, so the two never worked at the same time. Now the game keeps building the next frame while the renderer draws the current one, up to 16 submissions ahead. In a scripted Windows Vulkan run, menu FPS went from 174–221 to 226–275 and the first level from 134–192 to 177–216. Setting RESOT_KICK_AHEAD=0 restores the old behaviour.
  • Android: calls between the game's recompiled functions are now direct instead of going through the library's indirect-call table.

Fixes

  • Mid-game freeze with only the audio playing (retail). When the GPU fell far behind, the game's Direct3D code waited for a GPU interrupt that reSOT did not emulate, so it could stop forever. This matches the freeze reported in chapter 25 around the Gear Room. reSOT now emulates that interrupt and the GPU status register the game checks.
  • Audio crackle (Windows and Android). The emulated sound chip and your sound device run on slightly different clocks. That drift used to be handled by clearing the audio queue or inserting silence, and each of those was an audible click. The playback speed now adjusts by at most 0.8%, which you cannot hear, to keep the queue steady.

New look

  • New reSOT logo in the README, in both launchers and as the app icon on Windows and Android.
  • In both launchers the sand around the logo is animated: it streams and sheds glowing grains.
  • The previous logos and icons are kept in docs/media.

Not yet validated

  • Android in-game frame rate with this version.
  • Replaying the places where the freeze occurred.
  • Listening tests for the audio fix.
  • The demo with these changes: it keeps the old way of submitting GPU work until it is checked on its own executable.

See VALIDATION.md for the commands and results.

Full Changelog: reSOTv0.3.2...reSOTv0.3.3