Jump to content

[1.3.0] Kerbal Engineer Redux 1.1.3.0 (2017-05-28)


cybutek

Recommended Posts

I don't have my logs, but wanted to add that I ran across the same issue with the scaling as the other people here. KW parts all of a sudden got really weird. Deleted Kerbal Engineer and they are fine. Add it back, broke. Downgrade back to 1.0.8.1 and fixed.

If the logs provided aren't enough I can recreate the issue tonight and post my logs.

Link to comment
Share on other sites

Quick question that I searched for and couldn't find:

Where are the custom selections saved? Every time I install a new version the custom selections get removed and I create quite a few, so I'd kinda like to keep them.

Gamedata/KerbalEngineer/Settings/SectionLibrary.xml

(You can also hide the stock displays in that file if you don't use them with <IsVisible>false</IsVisible> if I understand it correctly.)

Link to comment
Share on other sites

I can confirm that KER is still informational only and doesn't try to modify anything.

Might not try to, but it is, nonetheless. Swear down bruv, its KER doing this. NAME ONLY appears to be the toggle. Behold some pictures!

Javascript is disabled. View full album

And my output log from this!

And as a bonus - a video! Coming soon

I couldn't replicate it with just stock, it must be an interaction with one of these mods. I'm guessing either FAR or Tweakscale. I do also have Stock Part Revamp and Stock Part Rebalance as well as other textures for stock parts, but those shouldn't (or don't) interfere with scale or attach nodes (I checked).. yeah, I dunno. Definately something to with KER though, that was the only that changed in those screenshots and the video.

Edited by ObsessedWithKSP
Link to comment
Share on other sites

Complete log from my minimal mod replication.

https://drive.google.com/file/d/0B9Xltv6-yXY_Ty1laGVfUVlrUm8/edit?usp=sharing

Added and removed some KW Rocketry fuel tanks a few times with both names on and off before quitting.

Swear down bruv, its KER doing this. NAME ONLY appears to be the toggle. Behold some pictures!

http://imgur.com/a/uCBg9

And my output log from this!

And as a bonus - a video! Coming soon

I could replicate it with just stock, it must be an interaction with one of these mods. I'm guessing either FAR or Tweakscale. I do also have Stock Part Revamp as well as other textures for stock parts, but yeah.. I dunno.

It looks to me like the only mod in common to all 3 of you is TweakScale but I have no idea yet why the "Name Only" toggle in KER should be conflicting...

Nori: do you have TweakScale installed too?

Looks like I'll have to give it a go though I might have better luck looking at the code for typos or similar...

Link to comment
Share on other sites

It looks to me like the only mod in common to all 3 of you is TweakScale but I have no idea yet why the "Name Only" toggle in KER should be conflicting...

That's what I'm thinking, but previous versions of KER didn't have this. I think I was on 1.0.7 or something before this upgrade.

Don't know if it's relevant, but I found this in the KerbalEngineer.log (timestamps appear to match the video* which has a timestamp of 21:23:02 i.e. only 1m30s before this error)

[Exception 21:24:29.2122071]: Object reference not set to an instance of an object
[]: at KerbalEngineer.Editor.BuildOverlayPartInfo.SetEngineInfo () [0x00000] in <filename unknown>:0
at KerbalEngineer.Editor.BuildOverlayPartInfo.Update () [0x00000] in <filename unknown>:0

*gawwwwd, still an hour left to upload. I hate my life and my internet. I'm not sure if it's even worth it, it's basically the album above, but at 30 FPS

Edited by ObsessedWithKSP
Link to comment
Share on other sites

Indeed I do.

I wonder if I delete the KW tweakscale cfg (thus removing the module from KW parts) if that would fix it. I wonder why (for me at least) it is only affecting KW parts? I couldn't replicate it using other parts (with the tweakscale module).

Link to comment
Share on other sites

Came here to report the same problem with the nodes being in the same place. Confirmed that the "name only" button toggles the problem.

I don't know if it's related at all since I also just updated the community resource pack at the same time as KER, but the KA-100 Detection Array is giving me INCREDIBLE lag. Like, 0.5 fps. I'm gonna try to dig out all the community resource pack files and see if that makes a difference.

Link to comment
Share on other sites

I can replicate the problem, but it'll take some time to fix. As it's not chucking out any errors, it's going to be a manual task of uncommenting stuff until the bug shows its self to find the problem. So a fair portion of my day tomorrow will be looking at the KSP loading screen as each test requires restarting the game.

Such a strange bug because I know that KER isn't changing anything, all it does is look at the data. The only time looking at something should change it is in Quantum Theory. So my guess right now is that one of the getters within the KSP API is more than likely causing the problem. By doing a stealthy reset of the part and is having problems using the data modified by TweakScale.

Link to comment
Share on other sites

So a fair portion of my day tomorrow will be looking at the KSP loading screen as each test requires restarting the game.

Just checking - you got sirkuts Dev Helper? Will shave some precious seconds off the restart. I'm glad you've managed to replicate the problem and that I wasn't going crazy but yeah, looks like it'll be a bugger to fix. I suppose it's not game breaking because as long as the Name Only toggle is set right, things attach correctly. Good luck!

Link to comment
Share on other sites

I tried having a look at the code myself and I think I narrowed the issue down to this block of code in PartExtensions.cs

        
/// <summary>
/// Gets the cost of the part excluding resources.
/// </summary>
public static double GetCostDry(this Part part)
{
return part.partInfo.cost - GetResourceCostMax(part) + part.GetModuleCosts();
}

/// <summary>
/// Gets the cost of the part including maximum resources.
/// </summary>
public static double GetCostMax(this Part part)
{
return part.partInfo.cost + part.GetModuleCosts();
}

/// <summary>
/// Gets the cost of the part including resources.
/// </summary>
public static double GetCostWet(this Part part)
{
return part.partInfo.cost - GetResourceCostInverted(part) + part.GetModuleCosts();
}

Specifically the call to part.GetModuleCosts() seems to be triggering the bug. Removing that call fixes the issue with the sizing but breaks the cost calculations for parts that have their size changed with TweakScale. So it seems you were right that it was the KSP API doing something weird.

The name toggle seems to fix the bug because these functions are called when generating the tooltip, which presumably isn't done when name only is selected. Interestingly the call GetCostWet() in PartSim doesn't cause the problem, nor does turning names only off and generating the tooltip after the part is spawned. It may be possible just to avoid calling this function at part creation.

Anyway hopefully you see this before you get to stuck into it and I've saved you some time.

Link to comment
Share on other sites

Anyway hopefully you see this before you get to stuck into it and I've saved you some time.

Seen and you've definitely helped. Thanks :)

Edit: I have localised the problem down to the implementation of GetModuleCost() within the TweakScale part module. It is trying to call the Setup() method for some reason. This initialisation logic should be done within the Update() method, and the GetModuleCost() function should just return the default cost of the part or even zero at a lazy stretch if the part is still to be initialised.

Edited by cybutek
Link to comment
Share on other sites

Woo, thanks! I wonder why it changed the size of the part though, all it appeared to be doing is fetching the resource amounts and their cost :confused:

I've not looked in-depth into what exactly TweakScale was doing to cause the resize. But KER was calling GetModuleCosts() which TweakScale has an implementation of. The implementation of GetModuleCost() in TweakScale calls to initialise its self if it's not already done so for some silly reason. So the TweakScale part initialisation was being done prematurely and using some default scale values such as 1.0 instead of 1.25, instead of what it should be using from the .cfg files. The fix is basically to wait a frame so that any parts that use TweakScale can do their thing first. Not much of a fix because it shouldn't have been a problem to begin with. I have basically hacked around a bug in TweakScale. Which will happen again with any other mods that try to get the costs for TweakScale parts at creation time.

Edited by cybutek
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.

×
×
  • Create New...