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

Split out play modes for ClassicStockResources #9904

Merged
merged 6 commits into from
Jan 15, 2024

Conversation

HebaruSan
Copy link
Member

@HebaruSan HebaruSan commented Jan 15, 2024

Motivations

These mods bundle ClassicStockResources:

  • DSEV
  • Pathfinder
  • MOLE
  • Heisenberg
  • Buffalo

If you install any of them manually and choose the ClassicStock play mode, the ClassicStockResources configs will be active. However, if you install with CKAN and pick the ClassicStock play mode, ClassicStockResources is not installed (unless the user chooses it). This isn't the expected/intended state of the mod in that case.

In addition, most but not all of ClassicStockResources's .cfg files are renamed to .txt if you pick any play mode other than ClassicStock. But in CKAN you can end up with all or none of the .cfg files when you should only have one.

Finally, PathFinder installs GameData/WBIPlayMode.cfg, which is bad because it means this file will be overwritten at install and upgrade.

Changes

  • Now the ClassicStock play mode depends on ClassicStockResources, so it will always be installed if you pick the ClassicStock play mode in CKAN
  • Now ClassicStockResources-PlayMode-ClassicStock is created to model the state of having ClassicStockResources installed and choosing the ClassicStock play mode. Installing ClassicStockResources without this module will model the state of choosing some other play mode.
    • ClassicStockResources-PlayMode-ClassicStock conflicts with CommunityResourcePack, because these are incompatible. The main module does not conflict, because you can have it installed while using another play mode.
    • Now the mods that bundle ClassicStockResources depend on it, to ensure that they always have access to that one file that doesn't get renamed to .txt in other play modes
  • Now GameData/WBIPlayMode.cfg is no longer installed by Pathfinder

Fixes #9899 (once the historical PR in CKAN-meta is done).
Fixes #9905.

- name: CommunityResourcePack
depends:
- name: ModuleManager
- name: WildBlue-PlayMode-ClassicStock
Copy link
Contributor

Choose a reason for hiding this comment

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

we want to remove this one right?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think so?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm pretty sure Simplified play mode requires it

Copy link
Member Author

Choose a reason for hiding this comment

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

Can you say why?

Copy link
Member Author

Choose a reason for hiding this comment

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

Confirmed that the Simplified play mode disables ClassicStockResources, see #9899 (comment).

Copy link
Contributor

Choose a reason for hiding this comment

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

I still think this is wrong, there are a number of mods that use ClassicStockResources but don't need a WBI play mode.

https://github.com/search?q=repo%3AKSP-CKAN%2FNetKAN%20ClassicStockResources&type=code

Copy link
Member Author

@HebaruSan HebaruSan Jan 15, 2024

Choose a reason for hiding this comment

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

ClassicStockResources is part of the ClassicStock play mode. If a mod "uses" (note, that's not the same as supports or suggests, which is most of what is linked there) it, then it uses the ClassicStock play mode.

It may also be worth questioning how accurate those metadata entries are. "Classic Stock Resources" is a very generic sounding identifier, so it's not inconceivable that a mod author may list it in a relationship thinking that they're saying they support the stock resource system, not realizing that it's actually a specific part of a specific family of mods with its own requirements and quirks.

Copy link
Contributor

Choose a reason for hiding this comment

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

ClassicStockResources is part of the ClassicStock play mode

I don't think this is true. Other playmodes may disable ClassicStockResources, but that's not the same thing.

Copy link
Member Author

Choose a reason for hiding this comment

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

Right. All but one .cfg file is part of that play mode. The remaining one is generically available. That's modeled in the latest changes. I'd recommend taking a look at the files, then opening CKAN, clicking Refresh, and taking it for a spin to see how it all works.

NetKAN/ClassicStockResources.netkan Show resolved Hide resolved
@HebaruSan
Copy link
Member Author

image

This is due to taniwha.org being broken (see #9734), which we can't fix because Kethane has no alternate downloads. Not much choice but to ignore this error.

@HebaruSan
Copy link
Member Author

image

And now we're getting an error due to Angel-125/DSEV#20. Again we'll probably just have to ignore it, since attempts to reach out on GitHub, Discord, and the forum have failed.

@HebaruSan HebaruSan changed the title Make ClassicStock play mode depend on ClassicStockResources Split out play modes for ClassicStockResources Jan 15, 2024
@HebaruSan HebaruSan merged commit 88d4df2 into KSP-CKAN:master Jan 15, 2024
1 check failed
@HebaruSan HebaruSan deleted the fix/classic-stock-resources branch January 15, 2024 19:34
- name: Buffalo-PlayMode
- name: ModuleManager
- name: WildBlueTools
- name: ClassicStockResources
Copy link
Contributor

Choose a reason for hiding this comment

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

Wait I don't think this is correct either, doesn't this prevent you from using any playmode other than classic stock?

Copy link
Member Author

@HebaruSan HebaruSan Jan 15, 2024

Choose a reason for hiding this comment

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

No, the changes evolved a bit as I worked through this, hence the title change. The description should be up to date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants