Jump to content

[1.4.2] Kerbal Research & Development


-MM-

Recommended Posts

20 hours ago, Kerbonaut257 said:

So I have a request.

 

Can you remove the "conflicts with" parts in CKAN? Or is there a way to override it? I've used tweakscale and KRnD together for a long time. I use KRND on the parts that matter the most like batteries, fuel tanks, and engiens. And I use tweakscale on parts that I'll never actually upgrade, like wings. I would really like to be able to install both via CKAN because then I get automatic updates. But if I can't do it then I can install manually obviously.

I have since learned that it's not the mod author who creates the "conflicts" in ckan. My apologies

 

Are you sure? Because I have a bunch of "conflicts" attributes in my netkan-file: https://github.com/mmoench/KRnD/blob/master/KRnD.netkan
The idea was to spare most unsuspecting users the grieve of finding out that it does not work as expected with these mods. However it was always planned to switch to a different type of relationship attribute that was supposed to get implemented in ckan at some point that would be the inverse of "recommends".

The introduction of the blacklist-file for unsupported modules should take care of unexpected behavior but I still believe that we need an reliable way to inform people using ckan that they can't use KRnD alongside TweakScale for example, which is why I am hesitant to remove the "conflicts" attribute.

6 hours ago, Kerbonaut257 said:

Is there a way to get KRnD to work with procedural tanks? Because I love using procedural fuel tanks, and I would love even more if I could upgrade them.

I fear this will only work if I rewrite this mod to use the new Upgrade-API provided by KSP 1.2 (assuming that it offers all the required functions we need here) and all the other mod authors do the same.

I haven't done any testing yet and for now I am shying away from the amount of work it would take to rewrite this mod. But can anyone think of other reasons why it would be a good idea to try to use the upgrade-system? Besides from potentially making the procedural part users happy I mean.

Link to comment
Share on other sites

1 hour ago, -MM- said:

But can anyone think of other reasons why it would be a good idea to try to use the upgrade-system? Besides from potentially making the procedural part users happy I mean.

Better TweakScale compatibility maybe. But that's just a wild guess on my side.

Link to comment
Share on other sites

1 hour ago, -MM- said:

Are you sure? Because I have a bunch of "conflicts" attributes in my netkan-file: https://github.com/mmoench/KRnD/blob/master/KRnD.netkan
The idea was to spare most unsuspecting users the grieve of finding out that it does not work as expected with these mods. However it was always planned to switch to a different type of relationship attribute that was supposed to get implemented in ckan at some point that would be the inverse of "recommends".

The introduction of the blacklist-file for unsupported modules should take care of unexpected behavior but I still believe that we need an reliable way to inform people using ckan that they can't use KRnD alongside TweakScale for example, which is why I am hesitant to remove the "conflicts" attribute.

I fear this will only work if I rewrite this mod to use the new Upgrade-API provided by KSP 1.2 (assuming that it offers all the required functions we need here) and all the other mod authors do the same.

I haven't done any testing yet and for now I am shying away from the amount of work it would take to rewrite this mod. But can anyone think of other reasons why it would be a good idea to try to use the upgrade-system? Besides from potentially making the procedural part users happy I mean.

I don't know enough about what's under the hood to answer one way or another. I would imagine that using the upgrade system might work better with the other mods that modify parts, but apart from that I'm not sure. Would you get NEW functionality by doing this? Like be able to change more than just the stuff that krnd does now?

Link to comment
Share on other sites

22 hours ago, -MM- said:

I fear this will only work if I rewrite this mod to use the new Upgrade-API provided by KSP 1.2 (assuming that it offers all the required functions we need here) and all the other mod authors do the same.

I haven't done any testing yet and for now I am shying away from the amount of work it would take to rewrite this mod. But can anyone think of other reasons why it would be a good idea to try to use the upgrade-system? Besides from potentially making the procedural part users happy I mean.

So I don't really know what I'm talking about here. But you're saying the way KRND works involves changing static parts? Like a terrier always has the same stats, so KRnD can safely edit it? But things like procedural fuel tanks have a different amount of fuel, so you wouldn't be able to "multiply" the fuel by a number or whatever while it's changing around in the editor?

I'm not asking you to do a ton of work and I love your mod as-is! I'm just trying to understand a bit better why they are incompatible.

Link to comment
Share on other sites

Dang! I was hoping to be able to use this, but if it's not compatible with TweakScale that's a bit of a deal breaker. However, reading some other comments, it sounds like it isn't as simple as just, "Not compatible with this, sorry." Could someone give me some details?

 

Sorry if this was asked before, and if it was just don't reply and I'll go back and look later when I'm not so rushed.

Link to comment
Share on other sites

1 hour ago, Ninjadude501Alt said:

Dang! I was hoping to be able to use this, but if it's not compatible with TweakScale that's a bit of a deal breaker. However, reading some other comments, it sounds like it isn't as simple as just, "Not compatible with this, sorry." Could someone give me some details?

 

Sorry if this was asked before, and if it was just don't reply and I'll go back and look later when I'm not so rushed.

While it takes some work, it is actually well worth it to move TweakScale requirement from mods that do require it. Everything works far smoother and more reliably without that.

KR&D modifies the part specifications, which are then read by KSP to the new values. TweakScale resets these values. Behind the scenes this results in KR&D changing the value, TweakScale changing it to what it wants, then KSP taking the value. This results in spending science on what makes KR&D appear to be working, yet none of the values make their way into use.

Link to comment
Share on other sites

Other mods render a part un-upgradable too, such as Interstellar Fuel Switch. With my typical mods (such as SpaceY and Fuel Tanks Plus), this means that the mod fuel tanks can't be upgraded.  Happily, this means that there's once again a use for the stock tanks, since those can still be upgraded - unless I'm using Color Coded Canisters, which modifies the colors of the stock tanks, and renders those un-upgradable too.

Link to comment
Share on other sites

Any info on whether it works with "B9 Part Switch" (also one that allows changing the contents of tanks)? CKAN doesn't show a warning, so if it's not compatible - as I assume, as much as I'd love to get 2.5m and 3.75m liquid fuel tanks -, you might want to add that warning :)

Link to comment
Share on other sites

On 10/19/2016 at 5:05 PM, -MM- said:

I fear this will only work if I rewrite this mod to use the new Upgrade-API provided by KSP 1.2 (assuming that it offers all the required functions we need here) and all the other mod authors do the same.

I haven't done any testing yet and for now I am shying away from the amount of work it would take to rewrite this mod. But can anyone think of other reasons why it would be a good idea to try to use the upgrade-system? Besides from potentially making the procedural part users happy I mean.

2

I'm not sure if the new upgrade API would work for this, specifically for the infinite upgrade idea.

However... a reason why it would be a good idea?

Well, one of the main reasons to need to upgrade engines and fuel tanks, and squeeze every possible ounce of performance out of a ship, is for SSTOs.

Anyone who builds SSTOs is simply going to have certain mods. Tweakscale is helpful to reduce part count in some cases, but could be lived without.

However, Mk2 and Mk3 Stockalike Expansion is absolutely essential, and both require Interstellar Fuel Switch, which if I understand correctly, this mod is not compatible with.

So basically, the main thing I'd LOVE to use your mod for... I can't, because it would mean uninstalling the mods that enable me to want to use your mod in the first place.

As for making it work... I have seen some mods that put an infinite research node at the very end of the tech tree, or at least I seem to recall having seen something like that. So maybe it's possible? I'm not sure.

Link to comment
Share on other sites

It should be noted that while some mods say they "require" B9FuelSwitcher, InterstellerFuelSwitcher, etc. they really don't. Though it does take a little time and knowledge of cfg files the so called requirement can be removed fully. With the memory restriction removed for all part count isn't a concern which was why TS and fuelswitchers came into being. Ideally all mod makers would abandon these or at lease make them optional.

Link to comment
Share on other sites

4 hours ago, JeffreyCor said:

It should be noted that while some mods say they "require" B9FuelSwitcher, InterstellerFuelSwitcher, etc. they really don't. Though it does take a little time and knowledge of cfg files the so called requirement can be removed fully. With the memory restriction removed for all part count isn't a concern which was why TS and fuelswitchers came into being. Ideally all mod makers would abandon these or at lease make them optional.

 

True. However, I actually value the functionality of ISFS. The more flexibility I have in designing ships, the better. For Mk2 and Mk3 in particular though, some of the parts default to structural-only, with resource storage optional, such as the T-junction and X-junction parts.

Also, sadly, part count is very much still a concern, due to the UI flicker bug. The more parts you have in the most-full category, the worse it gets, and it can get bad enough to make the game unplayable. Until that bug is locked down, I still appreciate mods that keep part count to a minimum. Even after that bug is fixed though, I'd much rather have only one part for each model, with functionality able to be adjusted to suit my build needs, rather than having (by the time I use Karbonite, Karborundum, Interstellar Extended resources, cryogenic fuels, etc) over a dozen "1.25 x 6 meter fuel tanks" for each resource type. Plus asking part modelers to accommodate every possible resource setup out there is unreasonable anyway. Hence a mod like ISFS being very helpful, not just due to the memory issue.

Plus I dunno about you, but once I have 50 to 100 mods installed, my part categories are cluttered anyway, and it's very difficult sometimes to find individual parts, to say nothing of if there are many copies of identical parts. To abandon resource switching mods would mean expanding a fuel tank category that's already bloated at probably 200 tanks, to thousands. Doesn't sound fun to me...

Regardless, the simple fact is, this is a fairly new mod that, while very cool-looking, is doing things in a way that apparently makes it incompatible with major, long-standing mods that are integrated into dozens of other mods.

So yes, you could ask the entire modding community to please stop doing things the way they have for several years...

Or this one mod could adjust how it does things to use the new features of 1.2 that are explicitly designed to enable the things this does.

It's a pretty easy equation to me, though I realize and respect that it's asking a lot of MM. Still, other than for their own pleasure and use, modders design mods so people can use them. I guarantee that if this mod could be listed as fully compatible with ISFS, Tweakscale, B9, etc, tons more people would use it rather than passing on it. I'll be one of them.

Also... I'm not entirely clear on why this -can't- be compatible with those mods... they are, after all, compatible with each other. I can totally use a Tweakscaled fuel tank and swap out LFO for cryogenic fuel, for example, or even for Rocks or Spare Parts if I want. So if those can both write to the part in the save file, without fighting each other... why can't this?

Link to comment
Share on other sites

If you viewed above just a few messages your question would have already been answered, as this question was asked and answered.

I have not had any UI problems, and have tripped parts by removing TS and have no problems at all.

1.2 part upgrade is not " explicitly designed to enable the things this does." at all. Instead it uses a VASTLY different method which is far more limited.

TS and IFS work together as they do not adjust the same filed.

Link to comment
Share on other sites

Given my experience:  I decided to take my chances and removed the 'no tweakscale' restriction manually as I use it extensively. I've done so since 1.1 and have had absolutely no problems because of it yet. I'm honestly left to wonder why its there in the first place, but then again, I'm not a programmer, just someone willing to play with cfg files. YMMV.

Link to comment
Share on other sites

1 hour ago, Turin Malos said:

Given my experience:  I decided to take my chances and removed the 'no tweakscale' restriction manually as I use it extensively. I've done so since 1.1 and have had absolutely no problems because of it yet. I'm honestly left to wonder why its there in the first place, but then again, I'm not a programmer, just someone willing to play with cfg files. YMMV.

Because without it, when people discover parts that use TweakScale do not have upgrades that work properly they complain about it. So instead of having to explain it over and over, MM simply states that it is not compatible and kept TS parts from being looked at by KR&D

Link to comment
Share on other sites

I'm a bit confused about the incompatibility.

I want to use the stockalike MK2/3 expansion, which in turn requires ISFS.

Now, what exactly does that mean "in the end" for me?
If I install both (KR&D would be installed manually), how does it work out?

Can I R&D every part that has no ISFS-stuffy in their config? (like, for example, build a "unmoddable" craft out of MK3-expansion-parts, but be able to mod the stock engine it has?)

What exactly would happen if TweakScale is added? In contrast to ISFS (which is only "added" to specific parts via MM), TS is added to all supporting parts (including stock, obviously). Would R&D work on every part as long as you don't touch their TS-functionality?

Really confused. I can play without TS (although it's a bit meh, tbh), but due to some mods being dependant on ISFS, I can't really play without that...

Link to comment
Share on other sites

@cy-one

I'll jump in with some info here. KRnD won't work with parts that have their values set or modified at runtime. In other words, anything that allows fuel switching, size tweaking, or procedural parts.

 

This is because the part information is stored in the .cfg (part) files, which KRnD uses to make its upgrades. But parts made or modified at runtime don't have matching or "correct" part files to modify. You can still use it for changing dry mass of switched parts (which isn't affected by fuel switching), but it can't see the internal "fuel switched" fuel values and so it can't change/upgrade them.

@-MM-

Anything that uses fuel switching would benefit from an updated version, imho. Mk2 expansion and Mk4 parts, many spaceplane mods that use switching to save on part count. KSPI included. 

But TBH I think there are just too many part switching mods. I updated Interstellar Fuel Switch yeaterday, and the default install carpet bombs every tank with fuel switch options, which wrecks compatibility with this mod (probably others too).

I suspect part switching mods aren't but going anywhere, so if there's a way to make this mod compatible then it might be worth investing the time.

I'd certainly be willing to donate to the beer/coffee fund if it helped!

Link to comment
Share on other sites

22 minutes ago, Kielm said:

@cy-one

I'll jump in with some info here. KRnD won't work with parts that have their values set or modified at runtime. In other words, anything that allows fuel switching, size tweaking, or procedural parts.

 

This is because the part information is stored in the .cfg (part) files, which KRnD uses to make its upgrades. But parts made or modified at runtime don't have matching or "correct" part files to modify. You can still use it for changing dry mass of switched parts (which isn't affected by fuel switching), but it can't see the internal "fuel switched" fuel values and so it can't change/upgrade them.

I hope I'm not being stupid (English isn't my first language), buuuut...

As TS "kinda" modifies all (stock) parts, would that mean that one couldn't use both TS and R&D, even if one doesn't change a specific part with TS? (and instead wants to use that specific part with R&D?)

For example, let's say I boost the NERVAs fuel flow. If I never change the Nerva with TS... It still would "stay stock", as TS overrides R&D's fuel flow?

Link to comment
Share on other sites

55 minutes ago, cy-one said:

I'm a bit confused about the incompatibility.

I want to use the stockalike MK2/3 expansion, which in turn requires ISFS.

Now, what exactly does that mean "in the end" for me?
If I install both (KR&D would be installed manually), how does it work out?

Can I R&D every part that has no ISFS-stuffy in their config? (like, for example, build a "unmoddable" craft out of MK3-expansion-parts, but be able to mod the stock engine it has?)

What exactly would happen if TweakScale is added? In contrast to ISFS (which is only "added" to specific parts via MM), TS is added to all supporting parts (including stock, obviously). Would R&D work on every part as long as you don't touch their TS-functionality?

Really confused. I can play without TS (although it's a bit meh, tbh), but due to some mods being dependant on ISFS, I can't really play without that...

It's actually very straight forward, but has gotten mucked up as time went on. Everything from trying this has found that any part that is changed by TweakScale or a fuel switcher won't benefit from R&D. I have not found anything that causes KR&D to break, though has not been tried with 1.2 releases.

Example, using a craft with a cockpit, fuel switchable tank, and engine: Tank is not improvable (shows up but won't benefit) which cockpit and engine can be. Same applies for any parts using TS. TS also adds via MM. Removing parts in TS configs will remove TS from these parts so can be applied systematically as ISFS / B9FS is. 

Also as mentioned before, ISFS isn't truly dependent with other mods. If you absolutely want the parts in those mods to work with KR&D it is a matter of working with cfg files to remove ISFS (for example, CryoEngines and NFP "requires" B9, but with some work both work fully without it).

Link to comment
Share on other sites

Sorry again. I learn best by "repeating the way I understood" :wink:

So as long as ISFS (doesn't concern part-mass, that could still be tweaked with R&D) or TS (concerns everything, part isn't R&D-tweakable at all) "touch" a part (as in, have their functionality patched in via MM), R&D can't do it's work, correct?

Therefore, if I am (for example) happy with stock pods and engines, but want my tanks to be scalable... If I remove TS from pods and tanks, those could still be R&D-tweaked (sans some tanks that might use ISFS)?
Did I understand that correctly?

Link to comment
Share on other sites

@cy-one

Tweakscale and fuel switchers both work the same way. Think of it like this.

A fuel tank has a dry mass, cost, fuel type, and fuel amount (quantity). Fuel switch changes the fuel type and fuel amount to a list of possible options - this stops KRnD working for those, but dry mass isn't changed, so dry mass can be upgraded.

Tweakscale, on the other hand, takes every attribute (mass, cost, fuel amount) and turns them ALL into a list of options, which probably stops ALL of it from working with KRnD. I haven't tried using tweakscale with KRnD, but this is how I would expect it to work. Try it in a test game and be see!

If you want to use specific parts with KRnD, you have to stop the other mods from modifying them first. Limit tweakscale to only the parts you need, or don't use it.

11 minutes ago, cy-one said:

Sorry again. I learn best by "repeating the way I understood" :wink:

So as long as ISFS (doesn't concern part-mass, that could still be tweaked with R&D) or TS (concerns everything, part isn't R&D-tweakable at all) "touch" a part (as in, have their functionality patched in via MM), R&D can't do it's work, correct?

Therefore, if I am (for example) happy with stock pods and engines, but want my tanks to be scalable... If I remove TS from pods and tanks, those could still be R&D-tweaked (sans some tanks that might use ISFS)?
Did I understand that correctly?

Yes!

Stop tweakscale and ISFS from touching the parts you want to upgrade and you should be able to upgrade them.

Link to comment
Share on other sites

12 hours ago, JeffreyCor said:

Because without it, when people discover parts that use TweakScale do not have upgrades that work properly they complain about it. So instead of having to explain it over and over, MM simply states that it is not compatible and kept TS parts from being looked at by KR&D

Thanks for telling me, I'll have to play around and see if I have issues like that.  If I have, I didn't notice. Perhaps I'm just lucky in that regard.

Link to comment
Share on other sites

On 20.10.2016 at 1:45 AM, cy-one said:

@-MM- What would you need for a proper bug report? Some guy on Discord (without a forum account) has problems (KSP 1.2.1586, KR&D 1.11) even with stock parts.Some mod packs work (partial), some don't at all.

To safe a lot of time the best error-report would involve some testing on the side of the reporter. Eg what is happening wrong with which module of which part of which mod and under which circumstances.

And concerning the debate over what to do about the mod-compatibility and the new upgrade system, I believe the best course forward will be to simply create a proof of concept mod which utilized the new API-function. Once we know if it is possible to do everything this mod already does, we can check if it would work with other, currently incompatible mods.
I will get on this as soon as I have time, might be a couple of weeks though ...

Link to comment
Share on other sites

Something I'd love to see is SCANSat integration. Being able to use RnD to widen operational altitude windows and FoV would be awesome, especially the very short-range BTDT.

(ignore if it's already been said - I admit to not looking) 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...