Jump to content

[1.1.2] Kerbal Inventory System (KIS) 1.2.12


KospY

Recommended Posts

3 hours ago, monstah said:

Hey, something I noticed today: you can drag a part to a pod's inventory even though you haven't bought it on R&D yet :)

Could you please give more details. What part? Where and how you grab it?

Link to comment
Share on other sites

3 hours ago, monstah said:

Hey, something I noticed today: you can drag a part to a pod's inventory even though you haven't bought it on R&D yet

Did this happen to be a part that you had a test contract for?

Link to comment
Share on other sites

11 minutes ago, Obsidian_mc said:

Does anyone know how to put a part into a container? I haven't been able to find a guide on how to work the mod.

There is a very good manual that is even available in game.

Link to comment
Share on other sites

(Hopefully) quick question regarding mod compatibility:

Is the ModuleKISItem added to -all- parts, or is it only used for the few parts that are defined by KIS?

Second; is the 'volumeOverride' from ModuleKISItem handed on a per-part-instance basis, or is only the module from the prefab part used?

I'm the developer of SSTU, and a user pointed out that the KIS-volume for my modular/semi-procedural parts are not being updated properly on geometry changes (KIS uses volume calculated from whatever models were in the prefab, and not the current live part geometry volume).  A quick glance through the source indicates that in ModuleKISItem there is a 'volumeOverride' which would appear to do what I need (specifying custom volumes for each part); however I'm not finding any code or patches that adds the ModuleKISItem to all parts.  Which is fine, I can add them to my own parts through a patch if needed.  From there run-time modification of the 'volumeOverride' would be handled by a bit of reflection if/when KIS was found to be installed, so as to update the volume whenever the geometry changes.

Thanks,

Shadowmage

Link to comment
Share on other sites

13 hours ago, Shadowmage said:

Is the ModuleKISItem added to -all- parts, or is it only used for the few parts that are defined by KIS?

This module is only added to the parts that need it. For now KIS explicitly adds it to the stock drills only for the purpose of volume override.

13 hours ago, Shadowmage said:

Second; is the 'volumeOverride' from ModuleKISItem handed on a per-part-instance basis, or is only the module from the prefab part used?

All info is always fetched from prefab. If there is override then it will be used. If there is no override then volume is calculated from the prefab meshes.

13 hours ago, Shadowmage said:

I'm the developer of SSTU, and a user pointed out that the KIS-volume for my modular/semi-procedural parts are not being updated properly on geometry changes

It's assumed that part in the inventory is stored in its most compact form regardless to the actual state in the scene. That said, for the purpose of storing in the inventory the volume must not change. You have two options in your case:

  1. Set initial states of all the meshes in the model to the form you consider "compact". KIS will calculate the smallest box to fit all the meshes, and this will be the volume.
  2. Set desired volume via `ModuleKISItem.volumeOverride` and don't care about modifying the model.

Note, that #1 is more preferable because KIS always uses prefab meshes to create a holo pointer. I have a plan to make it more smart but there are too many caveats so, for now I don't have a solution ready for release.

Edited by IgorZ
Link to comment
Share on other sites

8 hours ago, IgorZ said:

This module is only added to the parts that need it. For now KIS explicitly adds it to the stock drills only for the purpose of volume override.

All info is always fetched from prefab. If there is override then it will be used. If there is no override then volume is calculated from the prefab meshes.

It's assumed that part in the inventory is stored in its most compact form regardless to the actual state in the scene. That said, for the purpose of storing in the inventory the volume must not change. You have two options in your case:

  1. Set initial states of all the meshes in the model to the form you consider "compact". KIS will calculate the smallest box to fit all the meshes, and this will be the volume.
  2. Set desired volume via `ModuleKISItem.volumeOverride` and don't care about modifying the model.

Note, that #1 is more preferable because KIS always uses prefab meshes to create a holo pointer. I have a plan to make it more smart but there are too many caveats so, for now I don't have a solution ready for release.

Thanks for the reply and information.  Sadly that was not the answer I was hoping for (re: pre-fab stat use...), as my parts volumes' can change dramatically depending on user configuration (think procedural parts), and a single volume specification would only be applicable to a single configuration for that part (e.g. the tanks can go from 0.625m and a few liters volume, up to 20m+ and several million liters, further complicated by various mount/nose model options).

But.. thanks anyhow, your time is appreciated :)

I'll give some thoughts as to the best override volume amount for these parts (as modifying the prefab model is not really an option), or find some way to disable their storage in KIS containers entirely (if possible).

Link to comment
Share on other sites

3 hours ago, Shadowmage said:

Thanks for the reply and information.  Sadly that was not the answer I was hoping for (re: pre-fab stat use...), as my parts volumes' can change dramatically depending on user configuration (think procedural parts), and a single volume specification would only be applicable to a single configuration for that part (e.g. the tanks can go from 0.625m and a few liters volume, up to 20m+ and several million liters, further complicated by various mount/nose model options).

Ah! So, you modify the prefab in runtime? That's different. In this case setting volume override is the only option. Though, if your initial part's meshes are set in the code (e.g. in OnSetup or Awake methods) then there will be troubles with the pointer. It will only reflect what's stored in the prefab model.

Edited by IgorZ
Link to comment
Share on other sites

On 5/25/2016 at 6:16 PM, Checker_guy said:

I have been getting NRE every time I try to put parts in inventory (not NRE spam), just one at a time. Happening since the update. qxE2Gz3.png 

Exactly the same happening to me. It's putting my surface station plans on hold for now. Huge number of mods though... Mod list: http://hottipscentral.com/ksp-mods

Previous version works just fine, although I'll probably be susceptible to the bugs this latest version claims to have fixed (never noticed them myself yet, but I'm not exactly playing every day or anything)

Edited by charliepryor
Additional context related to versions
Link to comment
Share on other sites

42 minutes ago, IgorZ said:

Ah! So, you modify the prefab in runtime? That's different. In this case setting volume override is the only option. Though, if your initial part's meshes are set in the code (e.g. in OnSetup or Awake methods) then there will be troubles with the pointer. It will only reflect what's stored in the prefab model.

No, I don't touch the prefab at runtime;  its just that the prefab only represents one out of hundreds of possible geometry variations for the part, which combined with scaling means it most often does not represent the final user-configured part very well (if at all).

Taking the fuel tank parts as an example; the prefab uses a 2.5m w * 7.5m h tank model.  The main tank model can be changed out for various other models (ranging from 2.5mx1.25m to 2.5m * 20m), and have scaling applied to it (for final diameter between 0.625m and ~20m, heights between 0.3125m and ~160m, scaling upper-bound is config defined), and there are additional options for nosecone and mount/adapter that further complicate the process/alter the geometry further from the prefab.  The shortest base tank at 0.625m diameter (without nose/mount/adapter) would have a volume of 96l, while the shortest tank model at 20m diameter has a volume of 3,141,590l (and the longest tank model at 20m diameter is 50,265,440l); several orders of magnitude in difference.  Those are without taking into account any adapters/nosecones/mounts/etc (which also modify the geometry/volume of the part).  With such a wide range of volumes for the part a single value from the prefab would work very well.

Not trying to get on your case about this, merely trying to explain the situation a bit better.  I understand the reasons the values from the prefab are used, and I also understand that a dynamic solution would not be simple to implement (and possibly bad for performance).  Will give it a bit more thought and if I come up with something clever I'll see about throwing together a PR; no guarantees though as I'm not too familiar with the KIS code base and it'll take me awhile to get up to speed.

 

On a related note, is there a way to completely disallow a part from being stored in a KIS container? (config or plugin based, can work with either if it is available)

Link to comment
Share on other sites

2 hours ago, charliepryor said:

Exactly the same happening to me. It's putting my surface station plans on hold for now. Huge number of mods though... Mod list: http://hottipscentral.com/ksp-mods

Previous version works just fine, although I'll probably be susceptible to the bugs this latest version claims to have fixed (never noticed them myself yet, but I'm not exactly playing every day or anything)

it is DeadlyReentry 

Link to comment
Share on other sites

5 hours ago, charliepryor said:

Exactly the same happening to me. It's putting my surface station plans on hold for now. Huge number of mods though... Mod list: http://hottipscentral.com/ksp-mods

Previous version works just fine, although I'll probably be susceptible to the bugs this latest version claims to have fixed (never noticed them myself yet, but I'm not exactly playing every day or anything)

See bug.

5 hours ago, Shadowmage said:

On a related note, is there a way to completely disallow a part from being stored in a KIS container? (config or plugin based, can work with either if it is available)

There is no such way. You may workaround it by overriding volume to some large yet reasonable size, e.g. 65,000L. It's an ugly solution but your parts won't fit any stock container. Though, parts still can be moved around via KIS, and the next problem will be holo-pointer. Given what you've explained prefab model may look very different from the actual part shape. I'd say that for now the only working solution is suggesting people not to use KIS for parts from your mod. IR is another example of such mod, it's incompatible with KIS too.

Link to comment
Share on other sites

15 hours ago, IgorZ said:

There is no such way. You may workaround it by overriding volume to some large yet reasonable size, e.g. 65,000L. It's an ugly solution but your parts won't fit any stock container. Though, parts still can be moved around via KIS, and the next problem will be holo-pointer. Given what you've explained prefab model may look very different from the actual part shape. I'd say that for now the only working solution is suggesting people not to use KIS for parts from your mod. IR is another example of such mod, it's incompatible with KIS too.

Noted, and thanks for the response :)

Indeed, I was considering adding an override for those parts with an insane volume; this should keep them from being stored in most containers.

Its truly unfortunate that those parts cannot be moved via KIS as well, but I understand the reasoning behind the current system/setup.  I'll see if I can come up with any solutions to that problem; may take a few weeks though as I'm already i the middle of a few other projects :)

Link to comment
Share on other sites

Hi, I'm starting using KIS (for time 400) I'm always drop of the wagon because I'm not able to understand how is suppose to be used. I've read the user guide and I understand the base concepts, BUT always I'm finish blocked in to do what I want to do.

I want to build a simple thing, I want to be able to build a radio tower. For that, what I'm trying to do is attach a ground base to the floor, then attach using the srfAttach node a struts (the ones that look like a radio tower). Then I would like to attach another of those struts to the previous one using the normal attach nodes (in this case KIS reports to have bottom and top) BUT when I try to do that (using the key R) the part appears in RED, also the nodes aren't visible in game either (in the guide seems to be shown)

Is this a bug?, is KIS supposed to be used in this way? to build a structure from scratch I mean.

I'm using the Ven's Stock Part Revamp, can this create the issue itself?

Here some capturesKSP-KIS-AttachProblem-01.png

 

 

Link to comment
Share on other sites

7 minutes ago, Space Cat said:

I assume that you guys have realized that this mod corrupts saves if you ever eva already. Any progress on fixing this? Its rather frustrating to be unable to eva.

My saves have been fine. You are going to have to bring more information to the table for this one. 

Link to comment
Share on other sites

2 hours ago, goldenpsp said:

My saves have been fine. You are going to have to bring more information to the table for this one. 

It corrupts the save in such a way that even if you uninstall the mod, evaed Kerbals cant ever be recovered, no matter what. Even if you go back into a vessel with them. The only solution is to make a new save without the mod installed. Even running loading a save and not doing anything with this mod installed will corrupt it.

Link to comment
Share on other sites

4 minutes ago, Space Cat said:

It corrupts the save in such a way that even if you uninstall the mod, evaed Kerbals cant ever be recovered, no matter what. Even if you go back into a vessel with them. The only solution is to make a new save without the mod installed. Even running loading a save and not doing anything with this mod installed will corrupt it.

You're going to need to tell us what you did to prove it's this mod, and probably log files - I and probably a lot of others regularly EVA Kerbals and regularly recover them without issue, so something's going on differently in your install.

Link to comment
Share on other sites

8 minutes ago, Space Cat said:

It corrupts the save in such a way that even if you uninstall the mod, evaed Kerbals cant ever be recovered, no matter what. Even if you go back into a vessel with them. The only solution is to make a new save without the mod installed. Even running loading a save and not doing anything with this mod installed will corrupt it.

That has not been my experience.
I'm able to have Kerbals EVA and re-enter crew capsules with no issues, and I'm able to recover those same Kerbals back at the KSC, again without any hassle.
Even after capsules have come back to Kerbin, I'm able to have the Kerbals do an EVA to get surface samples and EVA reports from where they land, then recover the Kerbal and the capsule separately.

If I had to guess, I'd say you have a crew capsule mod that's outdated.
I remember something about a Near Future Spacecraft changelog entry that mentioned something like this as one of the things that was fixed.

As said by 3 others now, we need logs to help you.
You've gotta help us help you, because without them, we're reduced to guesswork and blind speculation.

Logs can be found in 2 locations, with one of them changing if you're using 32 or 64 bit KSP.
/ksp/ksp.log
(if using 32 bit) /ksp/ksp_data/output_log.txt
(if using 64 bit) /ksp/ksp_x64_data/output_log.txt

Edited by SciMan
Link to comment
Share on other sites

1 minute ago, SciMan said:

-snip-

If it helps, I have Rp-0 installed. Other people have had this problem, and they claim that uninstalling KIS and KAS fixes it. It does for me as long as I make a new save, but that still means that I loose so much progress. To the point that I am just going to play vanillaish now.

Link to comment
Share on other sites

2 minutes ago, Space Cat said:

If it helps, I have Rp-0 installed. Other people have had this problem, and they claim that uninstalling KIS and KAS fixes it. It does for me as long as I make a new save, but that still means that I loose so much progress. To the point that I am just going to play vanillaish now.

Okay, here's what we really need:

KSP.log and output_log.txt are the files we need. A photo or list of your GameData folder will also help out quite a bit (or just list all installed mods).

Logs can be found in 2 locations, with one of them changing if you're using 32 or 64 bit KSP.
/ksp/ksp.log
(if using 32 bit) /ksp/ksp_data/output_log.txt
(if using 64 bit) /ksp/ksp_x64_data/output_log.txt 

 

First, delete KSP.log and output_log.txt. (this clears the logs, KSP will automatically re-create the files).
Then, start up KSP (with all your regular mods installed), and load a "throwaway" save (or a copy of an existing "corrupted" save).
Do the thing that corrupts your save.
Immediately exit KSP (via normal "quit" method, not Alt+F4).
Upload the 2 log files to Pastebin or a similar site.
Post the links to those two files.

 

We'll be able to help you better if you do that.

If it's really a bug in KIS/KAS, it needs to be fixed, but to fix it we need to figure out the cause.
Logs are what allow us to figure out the cause, otherwise we're left with guesswork and blind speculation.

Link to comment
Share on other sites

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