Jump to content

[1.4.1] ScrapYard - The Common Part Inventory - 1.1.0.107 (2018-03-18)


magico13

Recommended Posts

I'm playing with the RSS/RO/RP-0 set of mods, built from master/dev branches, along with ScrapYard built from master. I get a ton of errors in the VAB when building a vessel with the procedural avionics part that RP-0 provides:

 

Spoiler

[ERR 15:45:41.492] Input is null for field 'avionicsTechLevel' in config node ''
   at System.Environment.get_StackTrace()
   at ConfigNode.AddValue(System.String name, System.String value)
   at BaseFieldList.Save(.ConfigNode node)
   at PartModule.Save(.ConfigNode node)
   at ScrapYard.ModuleTemplateList.FindMatchingTemplate(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.ModuleTemplateList.CheckForMatch(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.InventoryPart.storeModuleNode(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.InventoryPart..ctor(.Part originPart)
   at ScrapYard.PartTracker.GetUsesForPart(.Part part, TrackType type)
   at ScrapYard.APIManager.GetUseCount_Part(.Part part, System.String type)
   at System.Reflection.MonoMethod.InternalInvoke(System.Object , System.Object[] , System.Exception ByRef )
   at System.Reflection.MonoMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters)
   at KerbalConstructionTime.ScrapYardWrapper.invokeMethod(System.String methodName, System.Object[] parameters)
   at KerbalConstructionTime.ScrapYardWrapper.GetUseCount(.Part part, TrackType trackType)
   at KerbalConstructionTime.KCT_Utilities.GetBuildTime(System.Collections.Generic.List`1 parts, Boolean useInventory)
   at KerbalConstructionTime.KCT_Utilities.RecalculateEditorBuildTime(.ShipConstruct ship)
   at KerbalConstructionTime.KerbalConstructionTime.EditorRecalculation()

Spoiler

[ERR 15:45:40.237] Input is null for field 'avionicsTechLevel' in config node ''
   at System.Environment.get_StackTrace()
   at ConfigNode.AddValue(System.String name, System.String value)
   at BaseFieldList.Save(.ConfigNode node)
   at PartModule.Save(.ConfigNode node)
   at ScrapYard.ModuleTemplateList.FindMatchingTemplate(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.ModuleTemplateList.CheckForMatch(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.InventoryPart.storeModuleNode(System.String partName, .ConfigNode moduleNode)
   at ScrapYard.InventoryPart..ctor(.Part originPart)
   at ScrapYard.Utilities.EditorHandling.VerifyEditorShip()
   at ScrapYard.ScrapYard.VerifyEditor()

This happens when the only part of the vessel is the proc avionics core.

 

Is this a ScrapYard error? Or does the bug lay elsewhere?

Link to comment
Share on other sites

20 hours ago, awang said:

Is this a ScrapYard error? Or does the bug lay elsewhere?

Yes. Both of those. Somehow the avionicsTechLevel value is null, which isn't valid, so it throws an exception. But ScrapYard should probably catch that exception and handle it. It may also be due to the way ScrapYard interacts with the module. I'm not sure of how to fix it off the top of my head and I'll likely have to set up an environment where I can reproduce it, which might not be for a while.

Link to comment
Share on other sites

I know this mod is only tagged at 1.3, but I just wanted to report that I'm getting a CTD with ScrapYard installed with KSP 1.3.1. I've narrowed it down to being this one mod and this mod only. The game loads as far as the main menu but then the crash popup window appears.

EDIT: I downloaded the source and recompiled against 1.3.1 and it doesn't crash anymore so I presume it works.

Edited by Booots
Link to comment
Share on other sites

1 hour ago, Booots said:

I know this mod is only tagged at 1.3, but I just wanted to report that I'm getting a CTD with ScrapYard installed with KSP 1.3.1. I've narrowed it down to being this one mod and this mod only. The game loads as far as the main menu but then the crash popup window appears.

EDIT: I downloaded the source and recompiled against 1.3.1 and it doesn't crash anymore so I presume it works.

Thanks for letting me know. I'll get that fixed tonight since I need to get the 1.3.1 dlls on the build server. Funny enough, I'm pretty sure I saw the same problem when I accidentally updated to 1.3.1 and hadn't had a chance to figure out which mod was causing it.

Link to comment
Share on other sites

22 minutes ago, magico13 said:

Thanks for letting me know. I'll get that fixed tonight since I need to get the 1.3.1 dlls on the build server. Funny enough, I'm pretty sure I saw the same problem when I accidentally updated to 1.3.1 and hadn't had a chance to figure out which mod was causing it.

Hey Magico. Same here. KCT, along with Stage Recovery and FMRS all work fine though. 

Quick question about Scrapyard and Dangit. Is it possible for Scrapyard to store Dangit values? Assume that a part has a 5000 hours MTBF value. You fly it for 4000 hours, you recover it, then the mechanics do some maintenance to bring that value down to around 2000 hours but you end up with a higher chance of failure if you reuse it. Is that possible to implement?

Some customization would work on top of that, depending on the part complexity. Dangit already has a minimum engineer level requirement for specific parts to make them harder to repair. If you could read that value, you could also make it affect the "ground engineers". So a landing leg might restore more durability, but an engine might not. It would all tie in nicely. If we could see the "new" MTBF we could easily decide which parts to keep and which to scrap or keep for shorter missions.

 

Edited by karamazovnew
Link to comment
Share on other sites

28 minutes ago, karamazovnew said:

Hey Magico. Same here. KCT, along with Stage Recovery and FMRS all work fine though. 

Quick question about Scrapyard and Dangit.

Someone else just mentioned that the stock settings system changed in 1.3.1 so that's probably why this is breaking and not my other mods.

About your Dangit idea, it sounds like something that would be a good companion plugin, not something I'd put into ScrapYard itself. ScrapYard is definitely able to store the MTBF but you'd need a separate mod that would alter it upon storing it in the inventory and would somehow affect the failure rate. I'd recommend it to Dangit first, since they'd likely be able to listen to the events that ScrapYard throws and handle it better than anybody else. Those events might need to be tweaked to allow another mod to affect the part before it is stored, or I could make a OnAboutToBeStored kind of event that fires before storage processing occurs for that kind of handling.

Done right they wouldn't even need to reference the ScrapYard API at all.

Link to comment
Share on other sites

9 minutes ago, magico13 said:

Someone else just mentioned that the stock settings system changed in 1.3.1 so that's probably why this is breaking and not my other mods.

About your Dangit idea, it sounds like something that would be a good companion plugin, not something I'd put into ScrapYard itself. ScrapYard is definitely able to store the MTBF but you'd need a separate mod that would alter it upon storing it in the inventory and would somehow affect the failure rate. I'd recommend it to Dangit first, since they'd likely be able to listen to the events that ScrapYard throws and handle it better than anybody else. Those events might need to be tweaked to allow another mod to affect the part before it is stored, or I could make a OnAboutToBeStored kind of event that fires before storage processing occurs for that kind of handling.

Done right they wouldn't even need to reference the ScrapYard API at all.

Gotcha, I'll post it as a suggestion to Linuxgurugamer. Many thanks.

 

By the way, you misunderstood me, the game crashed even when using Scrapyard alone (no other mods). I was just reporting that the others work fine. Happy updating :wink:

Edited by karamazovnew
Link to comment
Share on other sites

7 minutes ago, karamazovnew said:

By the way, you misunderstood me, the game crashed even when using Scrapyard alone (no other mods). I was just reporting that the others work fine. Happy updating

I think I got you right, I was just commenting that the reason that this is the only mod of mine breaking (everything) is because it's the only one I have that uses the stock settings system. If it's just a recompile then I'll have that fixed tonight.

Link to comment
Share on other sites

3 hours ago, magico13 said:

I think I got you right, I was just commenting that the reason that this is the only mod of mine breaking (everything) is because it's the only one I have that uses the stock settings system. If it's just a recompile then I'll have that fixed tonight.

A simple recompile fixes it, and all other mods which also use the stock settings.

 

Link to comment
Share on other sites

There's a recompile available at http://magico13.net:8080/job/ScrapYard/ but I haven't gotten a chance to test it yet. If someone wants to give that a go I'll make it available on GitHub as well. The part selector UI is still a work in progress and has some known issues with things like TweakScale, so be careful if you decide to try that part out.

Link to comment
Share on other sites

9 hours ago, magico13 said:

There's a recompile available at http://magico13.net:8080/job/ScrapYard/ but I haven't gotten a chance to test it yet. If someone wants to give that a go I'll make it available on GitHub as well. The part selector UI is still a work in progress and has some known issues with things like TweakScale, so be careful if you decide to try that part out.

No fatal errors, everything seems to work, apart from the WIP funds, when it comes to Stage Recovery. But recovering your active vessel works as advertised, you get 0 funds from parts, but funds from resources. I love the idea and hope to see it developed.

The big issue I see is that there is some sort of stuttering in the VAB whenever clicking on a part, or moving it. It doesn't matter if the inventory screen is open or not. There is nothing visible in the logs, but the first freeze seems to coincide with the moment the Inventory screen updates its title. 

Also, I hope you'll read this post I made on Dangit's thread: 

The core values of Dangit, when applied as a dummy lifetime counter to all parts, could serve as a cool framework for Scrapyard's sell values or limit on how many times a part can be used (instead of a max number of reuses). 

Link to comment
Share on other sites

  • 2 weeks later...

Hey, I am having an issue in a relatively heavily modded install. KSP keeps crashing while transferring from the loading screen to the main menu, and I have narrowed it down to Scrapyard. I have the latest build from the github server. My player.log file is here: https://dsh.re/4b264

I am afraid I can’t make any sense of it, as much as I have tried. If this is not a mod issue then I apologise, my assumption comes from the fact that it loads with all the other mods, but not when I add Scrapyard into the mix. 

Thanks for your continued development of such a wonderful mod!

Dom

Link to comment
Share on other sites

17 minutes ago, PhoenixSpaceIndustries said:

Hey, I am having an issue in a relatively heavily modded install. KSP keeps crashing while transferring from the loading screen to the main menu, and I have narrowed it down to Scrapyard. I have the latest build from the github server. My player.log file is here: https://dsh.re/4b264

I am afraid I can’t make any sense of it, as much as I have tried. If this is not a mod issue then I apologise, my assumption comes from the fact that it loads with all the other mods, but not when I add Scrapyard into the mix. 

Thanks for your continued development of such a wonderful mod!

Dom

Hmm, you're definitely running the latest so I'm not sure why it would crash there since you're also on KSP 1.3.1. Unfortunately the log doesn't say what mod it was loading when it crashed, but it doesn't look like it loaded the ScrapYard settings, so it's definitely possible that's the cause. Let me verify the .dll in the download is correct and I can upload a new one if needed.

 

Edit: It says it's the same version but just to be safe I uploaded the exact .dll I've been using with 1.3.1. Try it again and let me know if it happens again.

Edited by magico13
Link to comment
Share on other sites

5 hours ago, severedsolo said:

Hey @magico13 your build server appears to be down.

Yeah, the main drive stopped being recognized all of a sudden. The main components are about seven years old so I'm going to try replacing all of them, so it won't be back up for about a week

Link to comment
Share on other sites

2 hours ago, magico13 said:

Yeah, the main drive stopped being recognized all of a sudden. The main components are about seven years old so I'm going to try replacing all of them, so it won't be back up for about a week

Is there any chance of getting a 1.3.1 working version of scrapyard up somewhere else? Or have you done it and I've missed it?

Edit: ignore me, I see it's on github

Edited by severedsolo
Link to comment
Share on other sites

7 hours ago, magico13 said:

Yeah, the main drive stopped being recognized all of a sudden. The main components are about seven years old so I'm going to try replacing all of them, so it won't be back up for about a week

Hi @magico13, I'm assuming this issue is going to put me on downloading the new .dll on hold for a week? I tried it again with the most recent release on Github, but it has the same build number as the .version file in the previous download, and failed again. New player.log is here if you want it: https://dsh.re/857c3.

Good luck with the server! 

Link to comment
Share on other sites

21 hours ago, PhoenixSpaceIndustries said:

Hi @magico13, I'm assuming this issue is going to put me on downloading the new .dll on hold for a week? I tried it again with the most recent release on Github, but it has the same build number as the .version file in the previous download, and failed again. New player.log is here if you want it: https://dsh.re/857c3.

Good luck with the server! 

Is there any chance you can make a copy of your KSP folder and remove all mods excerpt ScrapYard? Given that I and others can run it just fine in 1.3.1 it seems like it's some sort of interaction with some specific mods.

I can still make manual builds, the build server just builds and packages every change I make so it's extremely convenient.

Link to comment
Share on other sites

2 hours ago, magico13 said:

Is there any chance you can make a copy of your KSP folder and remove all mods excerpt ScrapYard? Given that I and others can run it just fine in 1.3.1 it seems like it's some sort of interaction with some specific mods.

I can still make manual builds, the build server just builds and packages every change I make so it's extremely convenient.

Okay, it is loading fine with just ScrapYard. I guess I now start the painful process of adding mods back in and I'll see where the failure happens. Thanks for all your help!

Link to comment
Share on other sites

Just now, PhoenixSpaceIndustries said:

Okay, it is loading fine with just ScrapYard. I guess I now start the painful process of adding mods back in and I'll see where the failure happens. Thanks for all your help!

Sorry about that, it's never a fun process. I recommend, if possible, trying half of the remaining mods and seeing if that half has the problem and if not then trying the other half. Then you basically just keep halving whichever side has the problem until you have only one left.

Link to comment
Share on other sites

  • 2 weeks later...
On 29/10/2017 at 8:19 PM, magico13 said:

Sorry about that, it's never a fun process. I recommend, if possible, trying half of the remaining mods and seeing if that half has the problem and if not then trying the other half. Then you basically just keep halving whichever side has the problem until you have only one left.

Getting used to doing this, I enjoy a heavily modded game, which does have its downsides... Thanks for your help!

Link to comment
Share on other sites

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