Comments (23)
- Flip the dependency: WildBlue-PlayMode-ClassicStock should depend on ClassicStockResources, not the other way around.
This just seems wrong to me. It's a separate mod that the (non-CKAN) user can choose to install or not. If flipping the dependency was appropriate, then there would be no reason for ClassicStockResources to exist as its own mod outside of the base WildBlueTools. It would just be some additional cfg files in the Templates/ClassicStock
folder of that mod.
The current relationship, on the other hand, makes sense to me. In order to use the resources that come with ClassicStockResources, you need the definitions of the ClassicStock play mode and the tools for managing/switching play modes, both of which are in WildBlueTools.
WildBlueTools' installation instructions in Readme.txt
in the ZIP say nothing about also needing to install ClassicStockResources:
Wild Blue Tools
A KSP mod that provides common functionality for mods by Wild Blue Industries.
---INSTALLATION---
Copy the contents of the mod's GameData directory into your GameData folder.
Everything about the actual contents and structure of these mods aligns with the current metadata and away from the proposed changes. Is there some contrary objective aspect of it that I'm missing here?
from netkan.
Found a confounding factor: DSEV bundles ClassicStockResources:
So the intention there would seem to be to make the ClassicStockResources configs always available in case the user chooses the ClassicStock play mode. In effect, bundling is an implicit way of defining a dependency without mentioning it in installation instructions.
The same pattern holds for:
- DSEV
- Pathfinder
- MOLE
- Heisenberg
- Buffalo
That makes me a lot more comfortable with the idea of flipping the dependency.
from netkan.
Taking a look at the rest of the metadata, the RationalResources family are the only others depending on ClassicStockResources
. The other relationships mentioning that identifier are supports
. And I don't think any mods outside the WildBlue family interact with the play mode structure. So the risks for other mods should be minimal.
Alright, I'm turning my key. 🔑
I'll start a pair of PRs in NetKAN and CKAN-meta with these changes to properly reflect the bundling structure.
Thanks for spotting this and being persistent.
from netkan.
- MAYBE: make WildBlue-PlayMode-Pristine conflict with ClassicStockResources
This might be best handled by leaving the current CSR→CSP dependency in place while adding CSP→CSR (a circular dependency to effectively turn them into one logical mod). Then if you install ClassicStockResources, you're forced into the ClassicStock play mode, and we don't have to mess with the other play modes.
- MAYBE: make WildBlue-PlayMode-Simplified depend on ClassicStockResources
This wouldn't be a valid state of the WildBlue mods, would it? If you install without CKAN and switch to Simplified play mode, WildBlueTools would rename ClassicStockResources' .cfg files to .txt and they wouldn't be loaded.
from netkan.
This might be best handled by leaving the current CSR→CSP dependency in place while adding CSP→CSR (a circular dependency to effectively turn them into one logical mod). Then if you install ClassicStockResources, you're forced into the ClassicStock play mode, and we don't have to mess with the other play modes.
I only did a cursory skim but I'm pretty sure that Simplified play mode uses resources from ClassicStockResources so I don't think this works.
This wouldn't be a valid state of the WildBlue mods, would it? If you install without CKAN and switch to Simplified play mode, WildBlueTools would rename ClassicStockResources' .cfg files to .txt and they wouldn't be loaded.
Should be tested!
from netkan.
Should be tested!
Done. I installed DSEV and Pathfinder manually, then switched to Simplified (which apparently is known in-game as "Lite Blue"):
And now all of ClassicStockResources' .cfg files are renamed to .txt:
from netkan.
And now all of ClassicStockResources' .cfg files are renamed to .txt:
Did you check every file that is included in the ClassicStockResources ckan module?
I'm worried that some of those are required by the Simplified play mode.
from netkan.
Two files are left as .cfg, the one that defines which files are included in the play mode, and the one that defines the IntakeLqd
resource:
That name is only used in this one part definition:
So we might need to split up ClassicStockResources into a main module (the Common folder) and ClassicStockResources-PlayMode-ClassicStock. Sigh.
from netkan.
I don't think we necessarily need two separate modules, right? Simplified play mode is clearly expected to be usable with ClassicStockResources installed. What's the motivation for making ClassicStockResources depend on the play mode?
from netkan.
Simplified play mode is clearly expected to be usable with ClassicStockResources installed
Why do you say that? So far nothing we've found relates directly to the Simplified play mode.
from netkan.
But yes, it does need to be two separate modules, to accurately model the two states of ".cfg files are left alone" (when using ClassicStock play mode) and "all but one .cfg file are renamed to .txt" (when using any other play mode).
from netkan.
Yeah I made that comment based on the fact that mods which support the simplified play mode sometimes bundle classic stock resources, and they’re in .cfg form there. But you’re right, if you select simplified mode then those effectively get disabled.
If you install ClassicStockResources outside of ckan, the resources are in .cfg files. Isn’t it possible that some other mod uses those resources directly and doesn’t have anything to do with play modes?
rather than make ClassicStockResources depend on the play mode, why not make the other play modes conflict with ClassicStockResources? That seems correct, meaning that if you have CSR then you must use the corresponding play mode.
from netkan.
Rather than trying to answer a bunch of hypotheticals, are there actual problems with the current metadata as it stands?
from netkan.
Rather than trying to answer a bunch of hypotheticals, are there actual problems with the current metadata as it stands?
Don’t many of the RationalResources family mods depend on CRP or CSR, and if you select CSR you shouldn’t necessarily be forced to install the WBI play mode?
from netkan.
Does that cause a problem?
from netkan.
Not that I know of, but it spiderwebs into other dependencies like Wild Blue Tools and Kerbal Actuators. What does making Classic Stock Resources depending on Classic Stock PlayMode buy us?
from netkan.
The current dependencies of ClassicStockResources are:
depends:
- name: ModuleManager
- name: ClassicStockResources-PlayMode
from netkan.
this is madness. Why is a CRP mode there?
from netkan.
Because you can install ClassicStockResources/Templates/Common/Intakelqd.cfg
and have it active while CRP is installed.
from netkan.
Because you can install ClassicStockResources/Templates/Common/Intakelqd.cfg and have it active while CRP is installed.
You can but it's a no-op because everything in that file has :NEEDS[!CommunityResourcePack]
from netkan.
Sure. Which means that mods that bundle it can be used in other play modes.
from netkan.
Hello, I am running into a metadata problem that seems related to this.
I have WBI USI play mode installed:
https://github.com/TheDogKSP/WBIPlaymodeUSI
I am trying to install Pathfinder, which requires classic stock resources, which requires the classic stock playmode. WBI USI playmode isnt an option as a classic stock playmode, so I need to select one of the other classic stock playmode options, all of which are incompatible with WBI USI playmode. This means I am unable to use WBI USI playmode with pathfinder, which was it's intended use, rendering said playmode useless. I think this can be corrected by adding WBI USI as a playmode for Classic stock, or by removing the incompatibility between classic stock resources classic stock playmode.
from netkan.
@HebaruSan is the solution here to make the USI play mode provide ClassicStockResources-PlayMode?
from netkan.
Related Issues (20)
- Add EasyRobotics
- Add WaterfallExtensions HOT 2
- Add WaterfallExtensions HOT 1
- [Bug]: Error during instalation HOT 7
- [Mod]: Celestial Harmony HOT 6
- Question: How do you make your own CKAN metadata repo? HOT 7
- How do you generate a .netkan for old versions of a mod? HOT 1
- Tantares and TantaresLV both contain `[Proton].craft` HOT 2
- [Bug]: Netkan.exe "Unexpected character encountered" HOT 4
- [Bug]: JNSQ-KSRGAP recommends the wrong version of NavUtilities HOT 2
- RSMP (Formerly SRBWE, SWE) links to deleted github/spacedock pages. HOT 22
- Add Cryo Engines Restock and Cryo Engines NFLV HOT 1
- [Bug]: Mini Airbrakes by FishInferno Homepage Link is Broken HOT 1
- [Mod]: Kcalbeloh System HOT 3
- Add KSP-AutoLoad HOT 2
- Add EasyISP
- [Bug]: 2 versions of Not So Simple Construction and they overwrite each other too?
- Add FlyByWireSASMode
- [Mod]: My-KSP-Patches HOT 8
- [Bug]: Space Dust Unbound suggests data is incorrect HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from netkan.