Paul Kingtiger

Universal Storage II [1.3.1 and 1.4.5 - 1.7.0]

Recommended Posts

18 minutes ago, Matrix Aran said:

Dmagic's Science parts currently don't support US II unless I'm mistaken.

Oh that explains the magnetometer problem. But it doesn't explain why the vanilla parts are broken as well? Or could it conflict with dmagic?

EDIT: nvm the vanilla parts are from dmagic. Sorry I got confused :S.

Edited by thomas15v

Share this post


Link to post
Share on other sites

@Cooper42 Thanks for the report.  Those are minor issue, they only add TAC / Kerbalism to the tags for the part.  I've fixed them but I'll wait until we have more content before pushing out an update.

Share this post


Link to post
Share on other sites
22 hours ago, DMagic said:

What is it that those mods do with decouplers and what doesn't work correctly?

FRMS, Stage Recovery and Recovery Controller determine how a staged part is recovered.  The last one integrates the previous two and the determination of which of FRMS and SR gets used is an option on the stock decouplers' VAB context menu (RecoveryOwner: none, auto, FRMS, SR).  The US 2 decouplers don't display this option.

rZ1Xv3w.jpg

@linuxgurugamer and @magico13 look after these three mods between them and they might be able to offer more insight than I could possibly provide.  I suspect that a MM patch to add a Recovery Controller module to the parts might resolve the issue.  I'm taking a WAG but it might look something like the RecoveryController MM patch that seems to add to all parts with certain decouple modules.

@PART[*]:HAS[@MODULE[Module*Decouple*]]:NEEDS[StageRecovery]
{
    MODULE
    {
        name = RecoveryIDModule
    }
}
@PART[*]:HAS[!MODULE[ModuleAnchoredDecoupler],!MODULE[ModuleDecouple]]:NEEDS[StageRecovery]
{
    MODULE
    {
        name = ControllingRecoveryModule
    }
}

 

Edited by Brigadier

Share this post


Link to post
Share on other sites

@Brigadier Isn't this more of a Recovery Controller issue, that there are new parts without appropriate options in the context menu? RC is the mod, which adds something to parts of other mods or the stock game.

Edited by maja

Share this post


Link to post
Share on other sites

It's really a nice mod, can't wait to get the new DMagicOrbitalScience new parts for this ;)

Just a question. What can I attach to the nose service bay? I didnt found any attach point?

Edited by FrancoisH

Share this post


Link to post
Share on other sites
8 hours ago, maja said:

@Brigadier Isn't this more of a Recovery Controller issue, that there are new parts without appropriate options in the context menu? RC is the mod, which adds something to parts of other mods or the stock game.

Could very well be.  I would help if I knew more about the structure of mods and what to add in an MM script.  In part (pun intended), I pinged the authors of the other mods for that reason and to avoid cross-posting.

Share this post


Link to post
Share on other sites

Just add USDecouple to the MM file:

@PART[*]:HAS[@MODULE[USDecouple]]:NEEDS[StageRecovery]
{
    MODULE
    {
        name = RecoveryIDModule
    }
}

 

Share this post


Link to post
Share on other sites

Another small Module Manager patch, this time for Community Category Kit.

(Which is a dependency for KIS/KAS, which some parts require)

US2_CCK.cfg

	// This config file adds support for the default categories added by Community Category Kit and KIS
//
// EVA
    @PART[USEVAX]:NEEDS[KIS]:AFTER[UniversalStorage2]
// Only for KIS: KIS adds the cck-eva-items tag, which is not a CCK default. TAC, which is the other :NEED for EVAX, does not.    
    {
        @tags ^= :^: cck-eva-items
    }
//
// Containers
    @PART[USKASRadial]:NEEDS[KIS]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-containers
    }
    @PART[USKASWedge]:NEEDS[KIS]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-containers
    }    
//
///Life Support
    @PART[USFoodWedge]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
    @PART[USWaterWedge]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
    @PART[USSabatier]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
    @PART[USWaterPurifier]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
    @PART[USCarbonDioxideWedge]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
    @PART[USSolidWasteWedge]:NEEDS[CCK]:AFTER[UniversalStorage2]
    {
        @tags ^= :^: cck-lifesupport
    }
	

 

Also: With the science update on its way, please consider a Universal Storage version of the 'Science Box' (Experiment Storage Unit).

It'd be a great option for those smaller US payload bays so that probe landers with lower-end probes (which can't collect science) could send just a smaller top-part back into orbit and Kerbin, rather than dragging heavy Material Bays all the way there and back...

Share this post


Link to post
Share on other sites
8 hours ago, DMagic said:

Just add USDecouple to the MM file:


@PART[*]:HAS[@MODULE[USDecouple]]:NEEDS[StageRecovery]
{
    MODULE
    {
        name = RecoveryIDModule
    }
}

 

Done and perfect, thanks.  I only had time to see if the part context menu changed but I suspect the rest of the functionality will now be present.

In an effort to understand MM and MM config files, how does one find out which module, in this case "USDecouple", it is necessary to filter for?  I understand that @PART is adding the new module, "RecoverIDModule" to all parts that have that module when StageRecovery is present.  Where should I have looked?

Share this post


Link to post
Share on other sites
On 8/18/2018 at 10:43 PM, Cooper42 said:

I have done a first pass for a Community Tech Tree patch.

US2_CTT.cfg

Hi there, I'm using CTT and think I'd like to use this patch, but I don't know that much about configs, where they go, etc.

Does this go into the "GameData/UniversalStorage2" folder?

Share this post


Link to post
Share on other sites
11 minutes ago, scottadges said:

Hi there, I'm using CTT and think I'd like to use this patch, but I don't know that much about configs, where they go, etc.

Does this go into the "GameData/UniversalStorage2" folder?

The best place to put local patches is in a folder off your KSP\GameData install entitled "myMMConfigs" or something similar.  Put all of yours in there.  This way you don't pollute a mod's configs with your, potentially temporary, ones.

Share this post


Link to post
Share on other sites
1 minute ago, Brigadier said:

in a folder off your KSP\GameData install entitled "myMMConfigs"

Thanks, that makes sense. How does KSP know to incorporate that when it loads? How does it read the file, or I should ask, where does it look to load it?

Share this post


Link to post
Share on other sites

KSP just loads every file with the .cfg file extension in your GameData folder. It processes them and loads them as config nodes so that it can do whatever it needs with then, in this case MM uses them to modify other configs.

Share this post


Link to post
Share on other sites
20 minutes ago, DMagic said:

KSP just loads every file with the .cfg file extension in your GameData folder

Thanks for your response and I appreciate the help! 

Just to confirm for my own understanding, putting the CFG file in "GameData/_MyConfigs/US2_CTT.cfg" then KSP will load that even though it's in a subfolder of GameData.

It doesn't need to be in the main folder "GameData/US2_CTT.cfg" correct? (Sorry if this is obvious to everyone else! :confused: 

Edited by scottadges

Share this post


Link to post
Share on other sites

@scottadges Yep. KSP will go through every folder and subfolder in GameData looking for certain file types (.mu for parts, .cfg for config files, any texture type, and a few more). 

The only place it won't load files from is any folder called PluginData. People use those folders to store files they don't want loaded by KSP (like SCANsat's exported map images), or so that they can manually save and load data, like for settings files.

 

@Cooper42 I thought the KIS parts already had the cck tags. They are supposed to be in the localization files, so it's possible they got lost in the shuffle at some point.

It might also be worth adding a custom US category, too.

I've also been thinking about the science pod. It would definitely make sense along with the other science parts.

Share this post


Link to post
Share on other sites
4 hours ago, Brigadier said:

In an effort to understand MM and MM config files, how does one find out which module, in this case "USDecouple", it is necessary to filter for?  I understand that @PART is adding the new module, "RecoverIDModule" to all parts that have that module when StageRecovery is present.  Where should I have looked?

Look inside a part config file. There are defined all basic modules. Of course, a MM patch can add another module.

Share this post


Link to post
Share on other sites
9 hours ago, DMagic said:

 

@Cooper42 I thought the KIS parts already had the cck tags. They are supposed to be in the localization files, so it's possible they got lost in the shuffle at some point.

It might also be worth adding a custom US category, too.

I've also been thinking about the science pod. It would definitely make sense along with the other science parts.

It must have got lost then, the reason I wrote that patch was because I couldn't find the KIS parts in the Containers category!

 

As for a US category, given that US uses the same, unique, manufacturer for all parts means the build menu in an otherwise unmodded game can be used to show only US parts, without the need for another dependency.

Share this post


Link to post
Share on other sites
4 hours ago, Cooper42 said:

It must have got lost then, the reason I wrote that patch was because I couldn't find the KIS parts in the Containers category!

 

As for a US category, given that US uses the same, unique, manufacturer for all parts means the build menu in an otherwise unmodded game can be used to show only US parts, without the need for another dependency.

I type 'universal' in the search box which will give you all the US parts.  In fact you can get away with just typing 'Univer'

Share this post


Link to post
Share on other sites
On 8/21/2018 at 10:11 AM, Brigadier said:

In an effort to understand MM and MM config files, how does one find out which module, in this case "USDecouple", it is necessary to filter for?  I understand that @PART is adding the new module, "RecoverIDModule" to all parts that have that module when StageRecovery is present.  Where should I have looked?

The @PART is not adding a new module, it's modifying an existing module. Although what DMagic has written doesn't make complete sense to me, as he's suggesting adding USDecouple to the parts, but the MM code listed is adding RecoveryIDModule to all parts that already have a USDecouple module. You read it like this

"If the mod StageRecovery is present, modify all parts with any name that have the USDecouple module, by adding the RecoveryIDModule module to them."

I'm no expert on MM though, so I could be wrong. As Maja says above though, to find which module to target, you need to look into the part definition and see what modules it contains. If you only want to target a single part, use @PART[partname] {}. If you want to target a group of parts as this one does, you need to find something that is common to all the parts you want to target, but that is not in the parts you want don't want to target. Another avenue to find out what modules a part contains is to look in the GameData\ModuleManager.ConfigCache file, which contains the final definition of every part after all MM patches have been applied. It's also hand to look here to debug your patches, as you can see which patches have applied and which haven't.

Share this post


Link to post
Share on other sites

Hello. Universal Storage 2 is listed as on CKAN on spacedock, however it never shows up in the CKAN listing. I have deleted and reinstalled CKAN several times, used the atuo-updater, even going so far as to completely reinstall KSP. It appears that it's just not in the list, but the old Universal Storage is.

Could you help me with this?

Share this post


Link to post
Share on other sites
On 8/22/2018 at 12:50 AM, strudo76 said:

The @PART is not adding a new module, it's modifying an existing module. Although what DMagic has written doesn't make complete sense to me, as he's suggesting adding USDecouple to the parts, but the MM code listed is adding RecoveryIDModule to all parts that already have a USDecouple module.

Yes, I think it's supposed to be (the @ before MODULE has been removed): 

@PART[*]:HAS[MODULE[USDecouple]]:NEEDS[StageRecovery]
{
    MODULE
    {
        name = RecoveryIDModule
    }
}

That means, check every part, then for each part with the MODULE USDecouple add the MODULE RecoveryIDModule, only if Stage Recovery is installed.

Share this post


Link to post
Share on other sites

Small suggestion on wedge modules: N-height storage modules should have capacity slightly more than that of N single-height units storing the same resource, reflecting how some of the space in that many single-height modules is filled by the tank walls, and therefore not free to hold more of the resource being stored?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.