Jump to content

[1.12.x] KSP Part Volumes


linuxgurugamer
 Share

Recommended Posts

I'm getting KSP Part Volume editing some parts which already have modulecargopart.

In partVolumes-v3, it says a part is bypassed

but in the MM config cache:

MODULE
        {
            name = ModuleCargoPart
            packedVolume = 12
            KSP_PartVolume = true
        }

Edit: Disregard, there was a patch removing the ModuleCargoPart from the part in question incorrectly, which was confusing issues immensely!

Edited by Rodger
Link to comment
Share on other sites

Hello!

After installing version 0.0.3.2 and I'm getting a Module Manager error message on KSP Loading Screen. I'm trying to find it with no luck so far. Although MM can't create its cache files, everything seems to work just fine.

Is there some kind of "error log" to Module Manager? Has anybody dealt with this "error message"?

Can you help me pinpoint it? At least to report it correctly to linuxgurugamer... ;)

This is the content of my AddToAllParts.cfg file:

Spoiler
//
@PART[*]:HAS[!MODULE[ModuleCargoPart],!MODULE[ModuleInventoryPart],!MODULE[KerbalEVA]]:FINAL
{
	MODULE
	{
		name = ModuleCargoPart
		packedVolume = -1
	}
	MODULE
	{
		name = KSPPartVolumeModule
	}
}
@PART[*]:HAS[!MODULE[ModuleCargoPart],@MODULE[ModuleInventoryPart],!MODULE[KerbalEVA]]:FINAL
{

	MODULE
	{
		name = ModuleCargoPart
		packedVolume = -1
	}
	MODULE
	{
		name = ModuleInventoryPart		
		InventorySlots = #$/MODULE[ModuleInventoryPart]/InventorySlots$
		packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$
	}
	MODULE
	{
		name = KSPPartVolumeModule
	}
	!MODULE[ModuleInventoryPart] {}
}

 

Edited by jlcarneiro
Link to comment
Share on other sites

7 hours ago, jlcarneiro said:

Is there some kind of "error log" to Module Manager? Has anybody dealt with this "error message"?

Can you help me pinpoint it? At least to report it correctly to linuxgurugamer... ;)

In the main KSP dir/Logs/ModuleManager

Link to comment
Share on other sites

On 7/16/2022 at 5:23 PM, Rodger said:

In the main KSP dir/Logs/ModuleManager

Thanks! I'm kind of embarrassed for not knowing that... :confused:

Anyway, looks like the patch tries to access a variable that doesn't exist yet...

[ERR 18:52:27.887] Error - Cannot parse variable search when inserting new key packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

I think the problem is in the 26th line of the AddToAllParts.cfg file:

		packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

I've browsed the source code for "packedVolumeLimit" and didn't get a match. The only match I've found for "Limit" was "sizeLimit".

Since I don't know the mod very well, I don't know what else I can do...

@Rodger, can you enlighten me, please?

Edited by jlcarneiro
Pinging Rodger
Link to comment
Share on other sites

  • 2 weeks later...
On 7/16/2022 at 7:12 PM, jlcarneiro said:

Thanks! I'm kind of embarrassed for not knowing that... :confused:

Anyway, looks like the patch tries to access a variable that doesn't exist yet...

[ERR 18:52:27.887] Error - Cannot parse variable search when inserting new key packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

I think the problem is in the 26th line of the AddToAllParts.cfg file:

		packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

I've browsed the source code for "packedVolumeLimit" and didn't get a match. The only match I've found for "Limit" was "sizeLimit".

Since I don't know the mod very well, I don't know what else I can do...

@Rodger, can you enlighten me, please?

Hello, folks!

Can anyone help me fix this line, please?

Quote

[ERR 18:52:27.887] Error - Cannot parse variable search when inserting new key packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$

 

Link to comment
Share on other sites

Posted (edited)

 

On 7/16/2022 at 6:12 PM, jlcarneiro said:

Thanks! I'm kind of embarrassed for not knowing that... :confused:

Anyway, looks like the patch tries to access a variable that doesn't exist yet...

[ERR 18:52:27.887] Error - Cannot parse variable search when inserting new key packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$
 

I think the problem is in the 26th line of the AddToAllParts.cfg file:

		packedVolumeLimit = #$/MODULE[ModuleInventoryPart]/packedVolumeLimit$
 

I've browsed the source code for "packedVolumeLimit" and didn't get a match. The only match I've found for "Limit" was "sizeLimit".

Since I don't know the mod very well, I don't know what else I can do...

@Rodger, can you enlighten me, please?

 

I'll need to see your Player.Log file, AND all the ModuleManager logs, please

Seems that you have a part which HAS a ModuleInventoryPart and is is missing the data value packedVolumeLimit

The error is happening because of the missing data value in the existing part.  

Edited by linuxgurugamer
Link to comment
Share on other sites

6 hours ago, linuxgurugamer said:

I'll need to see your Player.Log file, AND all the ModuleManager logs, please

Seems that you have a part which HAS a ModuleInventoryPart and is is missing the data value packedVolumeLimit

The error is happening because of the missing data value in the existing part.  

Firstly, thanks for your attention, you must have little time!

Secondly,  here is the link to the logs on file.io: https://file.io/CmG8f0Ymdb8L

Unfortunately, they say the file will be deleted after download. So guys, PLEASE DON'T CLICK on this link, let @linuxgurugamer download it... ;)

Edited by jlcarneiro
Link to comment
Share on other sites

Posted (edited)
43 minutes ago, jlcarneiro said:

Firstly, thanks for your attention, you must have little time!

Secondly,  here is the link to the logs on file.io: https://file.io/CmG8f0Ymdb8L

Unfortunately, they say the file will be deleted after download. So guys, PLEASE DON'T CLICK on this link, let @linuxgurugamer download it... ;)

I got it, thx

And the problem is immediately obvious, it's a bug in theCargoStorageWedge in UniversalStorage2

For now, just edit the file:  CargoStorageWedge.cfg and add line below:

	MODULE
	{
		name = ModuleInventoryPart	
		InventorySlots = 3
		packedVolumeLimit = 0 // This is the line to add  *******************
	}				

It's at lines 49-53 of the file

Edited by linuxgurugamer
Link to comment
Share on other sites

On 1/27/2022 at 4:27 AM, linuxgurugamer said:

Added tank volume calculations


Feature Request:

Add option to use (or use by default) the tank volume calculation (pi * (d/2)^2 * h), instead of x*y*z for tanks.

(if a part is in the Tanks category and some 2 dimensions are equal - these are diameter)

 

Edited by flart
Link to comment
Share on other sites

3 hours ago, flart said:


Feature Request:

Add option to use (or use by default) the tank volume calculation (pi * (d/2)^2 * h), instead of x*y*z for tanks.

(if a part is in the Tanks category and some 2 dimensions are equal - these are diameter)

 

Problem  is identifying "d".  There is nothing to guarantee up, and some tanks are long, some are wide.  Also, not everything is round

Link to comment
Share on other sites

15 hours ago, linuxgurugamer said:

I got it, thx

And the problem is immediately obvious, it's a bug in theCargoStorageWedge in UniversalStorage2

For now, just edit the file:  CargoStorageWedge.cfg and add line below:

	MODULE
	{
		name = ModuleInventoryPart	
		InventorySlots = 3
		packedVolumeLimit = 0 // This is the line to add  *******************
	}				

It's at lines 49-53 of the file

WOW, that was FAST, thanks! :wink:

Link to comment
Share on other sites

I posted an "warning" on  UniversalStorage2's post. Hope this helps... ;)

Now, HOW did you find that error in those logs (there are many lines!), I mean, what did you use as seach term?

Edited by jlcarneiro
Link to comment
Share on other sites

Posted (edited)
16 hours ago, flart said:


Feature Request:

Add option to use (or use by default) the tank volume calculation (pi * (d/2)^2 * h), instead of x*y*z for tanks.

(if a part is in the Tanks category and some 2 dimensions are equal - these are diameter)

 

I'm glad you had that last line in there, but a couple of questions:

What about other parts which aren't tanks, yet are cylindrical?   What about Mk-2 parts, where the width and the length are equal?

I'm not saying this is not doable, just that there are questions to be answered before quickly adding a new feature

2 hours ago, jlcarneiro said:

I posted an "warning" on  UniversalStorage2's post. Hope this helps... ;)

Now, HOW did you find that error in those logs (there are many lines!), I mean, what did you use as seach term?

I looked in one of the files from MM, and looked for the error, that told me which part it was.  I already knew what the problem was.

Ideally, would be nice to fix the patch to have a default value if it doesn't exist, but don't have time to do that right now.

Also, are you sure it was the update to this mod and not an update to US2?

Edited by linuxgurugamer
Link to comment
Share on other sites

Just as an "is it possible" question.

I've recently noticed that Engine Plates have a huge, fixed, volume. I assume that this is based  on the maximum dimension of the difference variant lengths but it is a bit annoying that I can't fit a short EP-18 engine plate into a cargo inventory slot that I can fit a whole Bobcat engine into (I'm using Sandcastle, which has some large Cargo Storage Units, to recycle spent hardware in orbit). Is there anyway that the difference variants can have different volumes? or is that something that just is not possible?

Link to comment
Share on other sites

PSA, the issue of missing "%packedVolumeLimit = ..." is also found in:

  • the cockpit [Ares-Cockpit] from TM4KSP
  • the Starwatcher command part [Knes_Command_K-CEV] from Knes
  • the StarRider cockpit [Knes_Command_K-IXV] from Knes
Link to comment
Share on other sites

6 hours ago, linuxgurugamer said:

I looked in one of the files from MM, and looked for the error, that told me which part it was.  I already knew what the problem was.

Ideally, would be nice to fix the patch to have a default value if it doesn't exist, but don't have time to do that right now.

Also, are you sure it was the update to this mod and not an update to US2?

Actually, I CAN'T remember when I updated US2 for the last time (sorry!)... Maybe it had that absence for a while but the update to Part Volumes "found it" (I searched older versions of Part Volume and the line MM reported didn't exist, so I suppose you started to use packedVolumeLimit just now. IDK... )

Edited by jlcarneiro
Link to comment
Share on other sites

Posted (edited)
On 7/26/2022 at 12:24 PM, Robin Patenall said:

Just as an "is it possible" question.

I've recently noticed that Engine Plates have a huge, fixed, volume. I assume that this is based  on the maximum dimension of the difference variant lengths but it is a bit annoying that I can't fit a short EP-18 engine plate into a cargo inventory slot that I can fit a whole Bobcat engine into (I'm using Sandcastle, which has some large Cargo Storage Units, to recycle spent hardware in orbit). Is there anyway that the difference variants can have different volumes? or is that something that just is not possible?

Not possible, sorry, at least with this mod.  You can patch them directly if you like.

Your issue is with parts already instantiated.  I suppose it could be possible to write something that would look at a part and adjust it's values based on it's current size, but that's beyond the scope of this mod

Edited by linuxgurugamer
Link to comment
Share on other sites

  • 4 weeks later...
  • 4 weeks later...

Hello @linuxgurugamer,

thank you for this mod. :)
I have one question regarding the partVolumes-v3.cfg file.

The last lines like:
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 11895.9
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 41267.1
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 5158.4

Is this "only" debug/logging information?
If yes, could we get a debug toggle for this logging?

Because if it is adding lines to this file each game start (looks to me that way), it invalidates the modulemanager cache on each next  game start..

BR
Jebs_SY

 

Link to comment
Share on other sites

On 9/17/2022 at 11:50 AM, Jebs_SY said:

Hello @linuxgurugamer,

thank you for this mod. :)
I have one question regarding the partVolumes-v3.cfg file.

The last lines like:
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 11895.9
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 41267.1
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 5158.4

Is this "only" debug/logging information?
If yes, could we get a debug toggle for this logging?

Because if it is adding lines to this file each game start (looks to me that way), it invalidates the modulemanager cache on each next  game start..

BR
Jebs_SY

 

It doesn't keep adding every time it runs, or at least, it shouldn't.  Not just debugging information, but useful for reference by some people

Link to comment
Share on other sites

Hello @linuxgurugamer,

in my RSS RP-1 (150 mods) install there are lines added at each start... I deleted the file and started 4 times (just to the main menu)...

1st start: file is created and makes logical sense, "calculated tank" lines are in between...
2nd start: block of ONLY "calculated tank" lines at the file end is added. The numbers are equal to the "calculated tank" lines in the middle of block #1, where they make sense
3rd start: block of ONLY "calculated tank" lines at the file end is added.
4th start: block of ONLY "calculated tank" lines at the file end is added.

See this example (part (end) of log file, after 2nd run, not the complete log, though):
 

Spoiler

// ----------------------------------------------------------------------
// VenStockRevamp/PartBin/Data/Structural/strutCubeLarge
// Dimensions: x: 0.22, y: 2.28, z: 0.22
// Bounding Box Size: 105.952 liters
// Volume adjustment: 10%
//
@PART[strutCubeLarge]:HAS[!MODULE[ModuleCargoPart]]:Final
{
    MODULE
    {
        name = ModuleCargoPart
        packedVolume = 117
        %KSP_PartVolume = true
    }
}
// ----------------------------------------------------------------------
// VenStockRevamp/PartBin/Data/Structural/strutCubeMedium
// Dimensions: x: 0.22, y: 1.15, z: 0.22
// Bounding Box Size: 53.46918 liters
// Volume adjustment: 10%
//
@PART[strutCubeMedium]:HAS[!MODULE[ModuleCargoPart]]:Final
{
    MODULE
    {
        name = ModuleCargoPart
        packedVolume = 59
        %KSP_PartVolume = true
    }
}
// ----------------------------------------------------------------------
// VenStockRevamp/PartBin/Data/Structural/strutCubeSmall
// Dimensions: x: 0.22, y: 0.59, z: 0.22
// Bounding Box Size: 27.29531 liters
// Volume adjustment: 10%
//
@PART[strutCubeSmall]:HAS[!MODULE[ModuleCargoPart]]:Final
{
    MODULE
    {
        name = ModuleCargoPart
        packedVolume = 31
        %KSP_PartVolume = true
    }
}
// ----------------------------------------------------------------------
======================================= FILE ENDS HERE AFTER THE FIRST START =======================================
//      Calculated tank volume: 900.5
//      Calculated tankVol (max x min) volume: 845.6
//      Calculated tank volume: 900.5
//      Calculated tankVol (max x min) volume: 845.6
//      Calculated tank volume: 3731.4
//      Calculated tankVol (max x min) volume: 3761.9
//      Calculated tank volume: 3343.7
//      Calculated tankVol (max x min) volume: 12649.2
//      Calculated tank volume: 148.0
//      Calculated tankVol (max x min) volume: 582.6
//      Calculated tank volume: 148.0
//      Calculated tankVol (max x min) volume: 582.6
//      Calculated tank volume: 148.0
//      Calculated tankVol (max x min) volume: 125.8
//      Calculated tank volume: 148.0
//      Calculated tankVol (max x min) volume: 125.8
//      Calculated tank volume: 130.7
//      Calculated tankVol (max x min) volume: 238.4
//      Calculated tank volume: 6912.7
//      Calculated tankVol (max x min) volume: 3796.3
//      Calculated tank volume: 6216117.9
//      Calculated tankVol (max x min) volume: 11821.8
//      Calculated tank volume: 6216117.9
//      Calculated tankVol (max x min) volume: 1477.7
//      Calculated tank volume: 6201.2
//      Calculated tankVol (max x min) volume: 5639.7
//      Calculated tank volume: -15.8
//      Calculated tankVol (max x min) volume: 13217.5
//      Calculated tank volume: 15179.1
//      Calculated tankVol (max x min) volume: 59206.8
//      Calculated tank volume: 15179.1
//      Calculated tankVol (max x min) volume: 59206.8
//      Calculated tank volume: 764.7
//      Calculated tankVol (max x min) volume: 7149.9
//      Calculated tank volume: 714.1
//      Calculated tankVol (max x min) volume: 3616.8
//      Calculated tank volume: 325.7
//      Calculated tankVol (max x min) volume: 7470.2
//      Calculated tank volume: 483.8
//      Calculated tankVol (max x min) volume: 2591.4
//      Calculated tank volume: 85.1
//      Calculated tankVol (max x min) volume: 1495.2
//      Calculated tank volume: 379.3
//      Calculated tankVol (max x min) volume: 1688.3
//      Calculated tank volume: 719.4
//      Calculated tankVol (max x min) volume: 22615.3
//      Calculated tank volume: 102.7
//      Calculated tankVol (max x min) volume: 1688.3
//      Calculated tank volume: 738.5
//      Calculated tankVol (max x min) volume: 22615.3
//      Calculated tank volume: 1115059.6
//      Calculated tankVol (max x min) volume: 23067.1
//      Calculated tank volume: 1115059.6
//      Calculated tankVol (max x min) volume: 8609.7
//      Calculated tank volume: 980408.7
//      Calculated tankVol (max x min) volume: 37078.9
//      Calculated tank volume: 980408.7
//      Calculated tankVol (max x min) volume: 13839.6
//      Calculated tank volume: 4.1
//      Calculated tankVol (max x min) volume: 13.9
//      Calculated tank volume: 294.6
//      Calculated tankVol (max x min) volume: 3534.7
//      Calculated tank volume: 1837.4
//      Calculated tankVol (max x min) volume: 4108.7
//      Calculated tank volume: 3822213.8
//      Calculated tankVol (max x min) volume: 4678.6
//      Calculated tank volume: 238.7
//      Calculated tankVol (max x min) volume: 6107.6
//      Calculated tank volume: 249.6
//      Calculated tankVol (max x min) volume: 9915.3
//      Calculated tank volume: 1768887.7
//      Calculated tankVol (max x min) volume: 48072.3
//      Calculated tank volume: 2394.9
//      Calculated tankVol (max x min) volume: 35905.2
//      Calculated tank volume: 31906179.1
//      Calculated tankVol (max x min) volume: 62060.4
//      Calculated tank volume: 572.7
//      Calculated tankVol (max x min) volume: 11070.0
//      Calculated tank volume: 2935.8
//      Calculated tankVol (max x min) volume: 5068.3
//      Calculated tank volume: 1371914.2
//      Calculated tankVol (max x min) volume: 3253.9
//      Calculated tank volume: 320166.3
//      Calculated tankVol (max x min) volume: 338.0
//      Calculated tank volume: 325.7
//      Calculated tankVol (max x min) volume: 7470.2
//      Calculated tank volume: 4169.7
//      Calculated tankVol (max x min) volume: 112054.1
//      Calculated tank volume: 325.7
//      Calculated tankVol (max x min) volume: 7470.2
//      Calculated tank volume: 178.5
//      Calculated tankVol (max x min) volume: 3873.5
//      Calculated tank volume: 930.8
//      Calculated tankVol (max x min) volume: 2547.0
//      Calculated tank volume: 18.1
//      Calculated tankVol (max x min) volume: 3090.2
//      Calculated tank volume: 0.2
//      Calculated tankVol (max x min) volume: 11.2
//      Calculated tank volume: 0.2
//      Calculated tankVol (max x min) volume: 11.2
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 149.3
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 18.7
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 36.5
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 63.0
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 18.7
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 212.6
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 149.3
//      Calculated tank volume: 0.4
//      Calculated tankVol (max x min) volume: 198.8
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 2219.6
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 541.9
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 936.4
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 11895.9
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 541.9
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 936.4
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 2219.6
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 4335.2
//      Calculated tank volume: 2.7
//      Calculated tankVol (max x min) volume: 11895.9
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 41267.1
//      Calculated tank volume: 2.2
//      Calculated tankVol (max x min) volume: 5158.4
======================================= FILE ENDS HERE AFTER THE SECOND START =======================================

 

I looked at the code, somehow these 2 lines seem to be executed/added to the main file at each startup... but I don't understand, why... wrong stringbuilder object?! I don't know...
But I found the workaround to rename the KSP-PartVolume DLL after first run... I assume as long as I don't add parts that should be fine?!

BR
Jebs_SY

Edited by Jebs_SY
Link to comment
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.

 Share

×
×
  • Create New...