Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a bunch of ren'py 7 compatibility back into the main branches. This is mainly meant for games running ren'py 8 but still having older files, and as such we don't have to worry that badly about emitting things that older ren'py's don't quite grok. These changes are surprisingly small and net us compatibility back to at least 6.18 (2014), where the main blocker is old-style screen language. Supporting that is a big burden that I'm not interested in, so around that point sounds like a good cutoff. I also made it generate an error when encountering those that tells people they're using the wrong decompiler version.
Legacy still has its place as it has all the shenanigans needed for
--init-offset
version checks,--tag-outside-block
and friends, old-style screens support, and true compatibility down to 6, but at least this way un.rpyc and the normal tools won't completely balk upon encountering a single file from ren'py 7.Posting this as a pull request first to maybe get some feedback, but as the changeset is quite small (118+/21-) I feel like it's worth the lower amount of future issue posts to do this.