Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change: Don't store not to be activated newGRFs in savegames #9627

Merged
merged 1 commit into from Oct 20, 2021

Conversation

glx22
Copy link
Contributor

@glx22 glx22 commented Oct 19, 2021

Motivation / Problem

When a crash happens in intro menu, emergency save will contain the newgame grf config. But intro game can't have newgrfs, and loading the resulting crash.sav can cause other crashes, like any savegame with modified newgrf config.
See crash.sav from #9622.

Description

In intro menu, newgrf are only initialised and never activated, and it's indicated in the flags. So using that info it's easy to skip newgrfs from being stored in the savegame.
Of course checking _game_mode should work too, but I prefer the flags solution.

Limitations

Checklist for review

Some things are not automated, and forgotten often. This list is a reminder for the reviewers.

  • The bug fix is important enough to be backported? (label: 'backport requested')
  • This PR touches english.txt or translations? Check the guidelines
  • This PR affects the save game format? (label 'savegame upgrade')
  • This PR affects the GS/AI API? (label 'needs review: Script API')
    • ai_changelog.hpp, gs_changelog.hpp need updating.
    • The compatibility wrappers (compat_*.nut) need updating.
  • This PR affects the NewGRF API? (label 'needs review: NewGRF')

@James103
Copy link
Contributor

James103 commented Oct 20, 2021

The bug also allows you to (tested on e68a51e):

  1. Add NewGRFs to the new-game NewGRF list.
  2. Save the intro game (save a).
  3. Load the intro game (load a).
  4. The NewGRFs are now active in the intro game.

@glx22 glx22 added the backport requested This PR should be backport to current release (RC / stable) label Oct 20, 2021
@glx22 glx22 merged commit f2c03a7 into OpenTTD:master Oct 20, 2021
@glx22 glx22 deleted the newgrf_save branch October 20, 2021 20:14
TrueBrain pushed a commit to TrueBrain/OpenTTD that referenced this pull request Oct 23, 2021
@TrueBrain TrueBrain added backported This PR is backported to a current release (RC / stable) and removed backport requested This PR should be backport to current release (RC / stable) labels Oct 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backported This PR is backported to a current release (RC / stable)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants