Prerequisites
Game Version
Bug Description
-replay forces the client to instance 2, and OptionPreferences loads Options_Instance02.ini instead of Options.ini with no fallback. If that file does not exist the preferences are empty and every setting falls back to its code default; if it does exist it holds whatever a previous multi-instance session wrote. Either way the settings configured in the options menu are not the ones used.
This makes replay playback unsuitable for comparing rendering or performance changes, because the configuration under test is not the one that was set.
Reproduction Steps
- In the options menu, set the static detail level to Very High and quit.
- Start the game with
-replay <file>.
- Observe the window title reads Instance:02 and the log is written to DebugLogFile_Instance02.txt.
- The detail level from step 1 is not in effect.
Additional Context
parseReplay calls ClientInstance::setMultiInstance(TRUE) and skipPrimaryInstance(), so getInstanceId() returns 2. OptionPreferences::loadFromIniFile branches on getInstanceId() > 1u and returns without falling back to Options.ini. The instance skipping is deliberate so a replay can run alongside a retail client; it is the missing options fallback that causes this.
Prerequisites
Game Version
Bug Description
-replayforces the client to instance 2, and OptionPreferences loadsOptions_Instance02.iniinstead ofOptions.iniwith no fallback. If that file does not exist the preferences are empty and every setting falls back to its code default; if it does exist it holds whatever a previous multi-instance session wrote. Either way the settings configured in the options menu are not the ones used.This makes replay playback unsuitable for comparing rendering or performance changes, because the configuration under test is not the one that was set.
Reproduction Steps
-replay <file>.Additional Context
parseReplaycallsClientInstance::setMultiInstance(TRUE)andskipPrimaryInstance(), sogetInstanceId()returns 2.OptionPreferences::loadFromIniFilebranches ongetInstanceId() > 1uand returns without falling back toOptions.ini. The instance skipping is deliberate so a replay can run alongside a retail client; it is the missing options fallback that causes this.