WombatFromHell/OriginSteamOverlayLauncher

Task list for v1.09

Closed this issue · 8 comments

  • Massive process detection and monitoring rewrite (is now properly asynchronous).
  • Refactored INI handling for better maintainability.
  • Replaced ForceLauncher with AutoGameLaunch option and fixed bugs.
  • Deprecated TerminateOSOLUponLaunch option (made obsolete by AutoGameLaunch).
  • Some minor improvements for EGS detection and handling.
  • Implemented PreGameWaitTime option for delaying game launch.
  • Deprecated CommandlineProxy feature (how many people even used this?)
  • Adjusted timeouts for new asynchronous launching/monitoring.
  • Deprecated LauncherMode, OSOL will now automatically use LauncherURI for setting its mode.
  • Implemented parent/child process tracking and validation.
  • Implemented config migration from old to new version.
  • Bug testing and unit tests to cover refactored code.
  • Fix non-traditional launching/monitoring behavior (for Steam mostly).
  • Fix EGL launching behavior when using LauncherURI mode.

I'm nearing completion on the new asynchronous event-based process detection and monitoring system going into v1.09. These changes will need lots of testing so I'll likely make a pre-release test build in the next few days depending on how much time I have.

I've gotten sidetracked with refactoring of the config file handling code. It's in dire need of an overhaul. I'm still testing the process detection and monitoring system.

Rewrite is 99% done. Just need to write unit tests and squash some async bugs in LaunchLogic before I push out a pre-release beta.

I'll be testing an experimental process tracking system for v1.10. I thought I would have time to implement and test it over the weekend, but this is not going to be the case. I'll finish up writing unit tests for the new config handling code and push a pre-release. Should be out in a day at most.

Change of plans. It looks like I need to implement child process tracking in order to solve issues with Diablo 3 and EGL games. I'll also be adding automatic config migration to prevent loss of data for pre v1.09 configs.

Tracking of process (grand)children is in (with it comes improved game process detection), now just "legacy" (pre v1.09) config migration left to go. I'll probably constrain this migration to existing Path/Arg variables. The new timeouts in v1.09 generally give a better experience for most users, so overriding them makes sense I think.

Both sets of non-standard launching bugs should be fixed in build v1.09c. I've tested against: Diablo 3 (Battle.net), Dauntless (EGL), Apex Legends, and AC: Odyssey (Steam -> UPlay). All check out. I'm just running through some final tests before I push the next build.

I'll give v1.09f a few more days of testing in pre-release before I move it to a full release build. I'll go ahead and close this task ticket now since I'm not aware of any blockers before release.