Sanity check research->techs_researched from savegame
There's some arguments against including this to 3.0.2 already:
- S3_0 is known to cause the count to go wrong during regular run - we would be a bit inconsistent in fixing that when ever one continues from a saved game but otherwise not to care. Has also the "spam factor" of failed sanity checks
- Introduces a new translatable string. We are not in formal string freeze yet, but I would shun further string changes anyway
Maybe push this to master and S3_1 first (esp. as this blocks #44594 - making debugging the actual problems harder), but to S3_0 only after 3.0.2 release, with the assumption that by 3.0.3 there will be progress in fixing the root causes.
There's some arguments against including this to 3.0.2 already:
- S3_0 is known to cause the count to go wrong during regular run - we would be a bit inconsistent in fixing that when ever one continues from a saved game but otherwise not to care. Has also the "spam factor" of failed sanity checks
- Introduces a new translatable string. We are not in formal string freeze yet, but I would shun further string changes anyway
Maybe push this to master and S3_1 first (esp. as this blocks #44594 - making debugging the actual problems harder), but to S3_0 only after 3.0.2 release, with the assumption that by 3.0.3 there will be progress in fixing the root causes.
We should sanity check research->techs_researched loaded from the savegame. We could also completely drop it from the savegame, and just use the recalculated value (which we need to do anyway when savegame value differs from it, i.e., when the sanity check fails).
This was inspired by debugging of #44594.