Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@DaleStan
Copy link
Collaborator

This restores support for Factorio 1.1, and incidentally fixes #507. We could just abandon 1.1, but I've never really been happy with that idea, given that many mods (e.g. SE, Angel's) still aren't updated, and others (e.g. IR3) will explicitly never be updated.

I used a customized version of my dump-data branch (e.g. suppressing properties that didn't exist in 0.9.1) to compare the objects loaded by 0.9.1 and this branch.

@DaleStan DaleStan requested a review from shpaass as a code owner September 21, 2025 04:24
@DaleStan DaleStan requested a review from veger September 21, 2025 04:24
@shpaass
Copy link
Owner

shpaass commented Sep 21, 2025

Thank you for this huge fix! Although I have doubts about how many users of Yafc are still on 1.1 - it's an ever-decreasing number because I think there is nothing holding a person on 1.1 aside from an ongoing run.

@DaleStan
Copy link
Collaborator Author

I should have included more information: #507 was already fixed by dac00bc, but the reporter can't upgrade to a version with that fix. They're using Space Exploration, which is still tied to 1.1.

This allows them to use a fixed version. (And also get all the new features we've added in the past year.)

Copy link
Collaborator

@veger veger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am fine with supporting v1.1 if people are using it (or are 'forced' to use).

But I wonder how much maintenance burden it would become this way. Each time something gets changed related to something 2.0 (or 1.1) we need to be aware to fence it off from the other version... I feel the distinctive support of either version will break if we are not careful.

Wouldn't it better to make a v1.1 branc, and backport important (generic, not v2.0-speific) changes that we would to provide to 1.1 users as well?
We can release them separately (when something gets changed) and we can choose when/how to burden us with v1.1 support per feature.

@DaleStan
Copy link
Collaborator Author

DaleStan commented Sep 22, 2025

But I wonder how much maintenance burden it would become this way.

That is the disadvantage of supporting both, but most parts of yafc aren't version-aware. Even most of FactorioDataDeserializer isn't version-aware. My other in-progress branches don't have conflicts with this PR, though https://github.com/ApocDev/yafc-ce/tree/spoilage-automation-support does.

Wouldn't it better to make a v1.1 branc, and backport important (generic, not v2.0-speific) changes that we would to provide to 1.1 users as well?

Maybe, but which changes? I originally thought #507 was a duplicate of #306. I found dac00bc by bisecting, but I also had to apply most of this PR before I could test. I expect it would be similarly difficult to find other bugs that affect 0.9 but are fixed in 2.x.
Even some 2.0-specific features can be beneficial to 1.1 mods. The 1.1 version of Ultracube has a trigger technology, but can't declare it as such. With the just-updated mod-fix, Yafc can analyze that tech the same way as any of 2.0's trigger techs, which would be hard in a 1.1-only branch.

@veger
Copy link
Collaborator

veger commented Sep 22, 2025

True, having a separate branch also has its disadvantages. If you say that there aren't many places were we need version checking then we could give it a try in a single branch. We can always decide later to split off a v1.1 branch I guess (it 'only' requires cleaning version specific code in both branches after splitting)

@DaleStan
Copy link
Collaborator Author

Personally, I think this is the best of the available choices, where the other two are "officially abandon 1.1", and "maintain separate branches for 1.1 and 2.0".

(Unless someone wants to make an automatic 1.1-to-2.0 mod converter, but I am not volunteering for that task.)

Copy link
Owner

@shpaass shpaass left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will need a cursory check after resolving the merge conflicts. Overall, looks fine. Thank you for the fix!

@shpaass shpaass merged commit d48f577 into shpaass:master Oct 24, 2025
1 check passed
@DaleStan DaleStan deleted the restore-1.1 branch October 25, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Space Exploration "item with same key has already been added")

3 participants