DYJ

[0.90] Procedural Dynamics - Procedural Wing 0.9.3 Dec 24

Recommended Posts

EDIT: With the latest update, this issue is resolved for me. Cheers, Nathan & DYJ!

I am experiencing a very strange bug with pWings. I've been looking for a way to reduce the part count on one of my heavier designs and so I decided to convert it over to pWings. After fiddling around with the craft and getting it out to the runway, the wings simply fell off the craft. Very odd.

The wings while not attached to the craft, still continue to act as iff they are a part of the craft. Strut connectors will stretch infinitely behind them and if FAR is loaded about 500m down the runway it will begin to do very strange things that will cause the remaining powered portion of the plane to flip about through the air and crash.

After trying for some time to remake the wings and get them to stay attached, I gave up, figuring it must be a corrupt craft file and started fresh. I built another design, mocked up the wing shape, and again the wings fell off. I then went and created a very simple 6 part craft and the wings managed to stay on. Very odd.

I moved the craft file over to my unmodded KSP install to test whether it was something to do with FAR or the other mods I have loaded. If I load the craft directly from the runway, the wings will fall off. If I enter the editor, and load the craft, the wings will stay on the craft and it will fly and orbit just fine, even if I add FAR back into the mix. I can even load it directly from the runway just fine, even though I have not re-saved the craft file.

However, should I close the game client and reload the craft on the runway, the wings will fall off again until I do the above. If I resave the craft file and try to load it back in my modded save, even from the editor, I'm not able to get the wings to stay on.

I've tried adding some mods to the clean copy of KSP, but I've yet to create a new craft that replicates the bug in the clean copy. That said, with two craft producing this error in my modded save, I'm confident it's not just a freak corruption.

output_log.txt

.craft file

https://dl.dropboxusercontent.com/u/11502651/KSP%202014-10-17%2014-07-58-89.jpg

https://dl.dropboxusercontent.com/u/11502651/KSP%202014-10-17%2014-08-20-53.jpg

https://dl.dropboxusercontent.com/u/11502651/KSP%202014-10-17%2014-08-27-65.jpg

I'm having the same issue. This happens for me after saving certain craft, then loading them again after closing and reopening KSP. It happens to pWings. I've also had it with two different craft, both times the craft saved & loaded just fine, but after exiting the game and coming back, they exploded/shed their wings on reload. The wings also behaved as though still attached when looking at the fuel lines. I X'd out of the game just after I experienced the issue, so it's right at the end of the log. You can see that the wings actually have a relative velocity to the craft of about 27m/s when they collide with other parts of the craft.

Right now I absolutely cannot reload this craft. It happens every single time.

output log

craft file

n6snWeS.png

Before exiting the game.

c7BXgz6.png

Reloading after entering the game again.

Edited by Excrubulent
issue fixed

Share this post


Link to post
Share on other sites
I'd like to see Modular Fuel Tanks added to those wings, so that manipulating thickness adds to tank size, and reinforcing (adding weight) subtracts some.

I'd also like mechanization to be more easy to attach (like, say "snap to center/auto-adjust width".

So, nothing is planner w.r.t. this?

Share this post


Link to post
Share on other sites

So, this mod no longer functions after updating to 0.9.1.

The relevant parts on my log are pasted below:

[LOG 14:20:27.453] Proceduralwing2: Calc Aero values
[LOG 14:20:27.455] Gather Children
[LOG 14:20:27.457] FAR
[LOG 14:20:27.458] FAR Done
[LOG 14:20:27.474] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwing2endcap/part/Proceduralwing2EndPiece'
[LOG 14:20:27.500] Proceduralwing2EndPiece: Calc Aero values
[LOG 14:20:27.501] Gather Children
[LOG 14:20:27.503] FAR
[LOG 14:20:27.504] FAR Done
[LOG 14:20:27.523] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwing3/part/Proceduralwing4'
[LOG 14:20:27.551] Proceduralwing4: Calc Aero values
[LOG 14:20:27.553] Gather Children
[LOG 14:20:27.554] FAR
[LOG 14:20:27.555] FAR Done
[LOG 14:20:27.576] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingAllMovingSurface/part/ProceduralAllMovingWing'
[LOG 14:20:27.605] ProceduralAllMovingWing: Calc Aero values
[LOG 14:20:27.607] Gather Children
[LOG 14:20:27.608] FAR
[LOG 14:20:27.610] FAR Done
[LOG 14:20:27.632] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingB9/part/ProceduralwingBac9'
[LOG 14:20:27.658] ProceduralwingBac9: Calc Aero values
[LOG 14:20:27.660] Gather Children
[LOG 14:20:27.661] FAR
[LOG 14:20:27.662] FAR Done
[LOG 14:20:27.682] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingSPP/part/ProceduralwingSPP'
[LOG 14:20:27.708] ProceduralwingSPP: Calc Aero values
[LOG 14:20:27.710] Gather Children
[LOG 14:20:27.711] FAR
[LOG 14:20:27.712] FAR Done
[LOG 14:20:27.734] PartLoader: Compiling Part 'ProceduralDynamics/Parts/procedural_ControlSurface_1/part/pCtrlSrf1'
[LOG 14:20:27.764] pCtrlSrf1: Calc Aero values
[LOG 14:20:27.765] Gather Children
[LOG 14:20:27.766] FAR
[LOG 14:20:27.768] FAR Done
[LOG 14:20:27.790] PartLoader: Compiling Part 'ProceduralDynamics/Parts/procedural_ControlSurface_SH_4m/part/B9_Aero_Wing_ControlSurface_SH_4mProcedural'
[LOG 14:20:27.817] B9.Aero.Wing.ControlSurface.SH.4mProcedural: Calc Aero values
[LOG 14:20:27.819] Gather Children
[LOG 14:20:27.820] FAR
[EXC 14:20:27.822] NullReferenceException: Object reference not set to an instance of an object
WingManipulator.CalculateAerodynamicValues (Boolean doInteraction)
WingManipulator.Setup (Boolean doInteraction)
WingManipulator.OnLoad (.ConfigNode node)
PartModule.Load (.ConfigNode node)
Part.AddModule (.ConfigNode node)
PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node)
PartLoader+.MoveNext ()
[ERR 14:20:27.877] createHull: convex hull computation failed!

[LOG 14:20:27.878] B9.Aero.Wing.ControlSurface.SH.4mProcedural: Calc Aero values
[LOG 14:20:27.880] Gather Children
[LOG 14:20:27.881] FAR
[EXC 14:20:27.883] NullReferenceException: Object reference not set to an instance of an object
WingManipulator.CalculateAerodynamicValues (Boolean doInteraction)
WingManipulator.Setup (Boolean doInteraction)
WingManipulator.OnStart (StartState state)
Part.ModulesOnStart ()
Part+
.MoveNext ()

The loader stops functioning and that point and I have to forcefully shut the process down.

Share this post


Link to post
Share on other sites
So, this mod no longer functions after updating to 0.9.1.

The relevant parts on my log are pasted below:

[LOG 14:20:27.453] Proceduralwing2: Calc Aero values
[LOG 14:20:27.455] Gather Children
[LOG 14:20:27.457] FAR
[LOG 14:20:27.458] FAR Done
[LOG 14:20:27.474] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwing2endcap/part/Proceduralwing2EndPiece'
[LOG 14:20:27.500] Proceduralwing2EndPiece: Calc Aero values
[LOG 14:20:27.501] Gather Children
[LOG 14:20:27.503] FAR
[LOG 14:20:27.504] FAR Done
[LOG 14:20:27.523] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwing3/part/Proceduralwing4'
[LOG 14:20:27.551] Proceduralwing4: Calc Aero values
[LOG 14:20:27.553] Gather Children
[LOG 14:20:27.554] FAR
[LOG 14:20:27.555] FAR Done
[LOG 14:20:27.576] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingAllMovingSurface/part/ProceduralAllMovingWing'
[LOG 14:20:27.605] ProceduralAllMovingWing: Calc Aero values
[LOG 14:20:27.607] Gather Children
[LOG 14:20:27.608] FAR
[LOG 14:20:27.610] FAR Done
[LOG 14:20:27.632] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingB9/part/ProceduralwingBac9'
[LOG 14:20:27.658] ProceduralwingBac9: Calc Aero values
[LOG 14:20:27.660] Gather Children
[LOG 14:20:27.661] FAR
[LOG 14:20:27.662] FAR Done
[LOG 14:20:27.682] PartLoader: Compiling Part 'ProceduralDynamics/Parts/DYJproceduralwingSPP/part/ProceduralwingSPP'
[LOG 14:20:27.708] ProceduralwingSPP: Calc Aero values
[LOG 14:20:27.710] Gather Children
[LOG 14:20:27.711] FAR
[LOG 14:20:27.712] FAR Done
[LOG 14:20:27.734] PartLoader: Compiling Part 'ProceduralDynamics/Parts/procedural_ControlSurface_1/part/pCtrlSrf1'
[LOG 14:20:27.764] pCtrlSrf1: Calc Aero values
[LOG 14:20:27.765] Gather Children
[LOG 14:20:27.766] FAR
[LOG 14:20:27.768] FAR Done
[LOG 14:20:27.790] PartLoader: Compiling Part 'ProceduralDynamics/Parts/procedural_ControlSurface_SH_4m/part/B9_Aero_Wing_ControlSurface_SH_4mProcedural'
[LOG 14:20:27.817] B9.Aero.Wing.ControlSurface.SH.4mProcedural: Calc Aero values
[LOG 14:20:27.819] Gather Children
[LOG 14:20:27.820] FAR
[EXC 14:20:27.822] NullReferenceException: Object reference not set to an instance of an object
WingManipulator.CalculateAerodynamicValues (Boolean doInteraction)
WingManipulator.Setup (Boolean doInteraction)
WingManipulator.OnLoad (.ConfigNode node)
PartModule.Load (.ConfigNode node)
Part.AddModule (.ConfigNode node)
PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node)
PartLoader+.MoveNext ()
[ERR 14:20:27.877] createHull: convex hull computation failed!

[LOG 14:20:27.878] B9.Aero.Wing.ControlSurface.SH.4mProcedural: Calc Aero values
[LOG 14:20:27.880] Gather Children
[LOG 14:20:27.881] FAR
[EXC 14:20:27.883] NullReferenceException: Object reference not set to an instance of an object
WingManipulator.CalculateAerodynamicValues (Boolean doInteraction)
WingManipulator.Setup (Boolean doInteraction)
WingManipulator.OnStart (StartState state)
Part.ModulesOnStart ()
Part+
.MoveNext ()

The loader stops functioning and that point and I have to forcefully shut the process down.

MAYBE, it's just a stupid idea... did you deleted the folder of the previous version before installing the new one?

Share this post


Link to post
Share on other sites

Yeah, it is a stupid idea. No, I'm kidding. Yes, I make sure to update things properly whenever possible. The first thing I did was reinstall it freshly when it started spitting out errors. Sure enough, this version straight out of the box is buggy.

Share this post


Link to post
Share on other sites

Do you have the most recent FAR? My guess would be you do not. Update *all* the mods. :)

And just as a general note, if you *literally see other people saying it works* please don't assume the release itself is at fault.

Share this post


Link to post
Share on other sites

FAR should not be a requirement to run this mod. I've been running it forever without FAR with no issues. I choose not to use FAR because it makes building and launching rockets a real pain, and mechjeb support is still not quite what it needs to be for us non-spaceflight gurus to actually launch anything. From what I gathered from this update, Procedural Wings now fully "supports" FAR, there was no mention of it now "requiring" FAR. If it now required FAR, then how am I supposed to fly all the crafts that are made with Procedural Wings which fly perfectly fine for me without FAR?

The correct question should have been "do you use FAR?" instead of "have you updated all your mods?" Also, I did not actually see anyone else saying this version worked. The postings since the release have been all of about 1 or 2 other than mine. If there'd been 10 or more posts of people saying that version 0.9.1 worked perfectly with AND without FAR, then I would assume there's something on my end. As it is, all evidence points to this mod. My errors only started after installing this mod. So please, at least have the decency to not assume that I am an idiot when you are trying to diagnose a problem I am having.

Share this post


Link to post
Share on other sites

It does not require FAR. I see no reason why lack of FAR would break things, since FAR-related stuff is run only when FAR is detectd. However, I'm willing to try to replicate.

Share this post


Link to post
Share on other sites
FAR should not be a requirement to run this mod. I've been running it forever without FAR with no issues. I choose not to use FAR because it makes building and launching rockets a real pain, and mechjeb support is still not quite what it needs to be for us non-spaceflight gurus to actually launch anything. From what I gathered from this update, Procedural Wings now fully "supports" FAR, there was no mention of it now "requiring" FAR. If it now required FAR, then how am I supposed to fly all the crafts that are made with Procedural Wings which fly perfectly fine for me without FAR?

The correct question should have been "do you use FAR?" instead of "have you updated all your mods?" Also, I did not actually see anyone else saying this version worked. The postings since the release have been all of about 1 or 2 other than mine. If there'd been 10 or more posts of people saying that version 0.9.1 worked perfectly with AND without FAR, then I would assume there's something on my end. As it is, all evidence points to this mod. My errors only started after installing this mod. So please, at least have the decency to not assume that I am an idiot when you are trying to diagnose a problem I am having.

I don't think anywhere in the OP does it say this requires FAR or NEAR.

Next, FAR doesn't make designing rockets or planes a pain, unless you are building bricks with engines and trying to launch them to space then it would make you suffer. But if anything FAR makes designing planes easier, why because all you have to do to design a decent plane in FAR is make a paper airplane or GOOGLE what a plane looks like and copy that design. FAR is not the problem with craft designs, it is often the designer.

There is a difference between requires and fully supports.

Requires, means you NEED to have it.

Fully supports, means if you have it, it will not cause any problems.

So not sure what your problem is there, but I quit reading after the first paragraph.

But I am not judging, if you want to fly in the souposphere of stock KSP and pretend that it is anything like real life or even aquatic life, then by all means it is your game.

Share this post


Link to post
Share on other sites

EDIT: I had previously written all sorts of comments regarding the last reply to my issues. I have sicne decided it's not worth arguing a point that doesn't really matter overall. Just know that my complaint was not about whether FAR is a good mod or not. I have a lot of respect for the attempts to bring realism to an obviously unreal world. I just have issues with it personally. My problem is with the latest release of this mod. That's all.

EDIT: I just read that you're willing to try and replicate. However, I have a feeling you won't get very far with that. I'm sure that mod releases are well tested considering the long-time success of the mods in question. I'm still combing through my various plugins and configs to see if there is anything that could possibly be causing Module Manager to think that I have FAR and do the adjustments. Even if that were the case, however, I've had FAR parts loaded into the game before and all that happens is that the log contains something along the lines of "could not find module of that name" and continues as if nothing was wrong. This is different.

Edited by Gaalidas

Share this post


Link to post
Share on other sites
Whether FAR is the problem or not is not under discussion here. I cannot launch KSP with Procedural Wings 0.9.1 and I do NOT have FAR installed. According to the OP, it should work perfectly fine WITHOUT FAR being installed right? (That is why I said it shouldn't require FAR in my last post. I do read the original posts.) So why am I getting to errors then? I even went as far as to remove the Module Manager entries from the config files that made the necessary FAR modifications, leaving only the stock implementations left and it STILL refuses to load the game. I'm not just coming on here to complain for the sake of being a bleep-hole. I have given it my best to diagnose a problem, I have explained the problem and provided logs to show what it happening.

To give you a simple answer, I have gone back and looked at what you posted. Those are better then what most people post, but the whole output.log is more useful. Upload it on a file sharing site and post a link here for NK or DJY to look at it.

But I tested the latest P-wings myself and removed my FAR from the install, it booted up fine for me.

Launching KSP32bit not 64bit.

Share this post


Link to post
Share on other sites

I was able to confirm the issue. I still have no idea *why*, but it's there.

Gaalidas, (and DYJ), apologies.

Share this post


Link to post
Share on other sites

Here is the fix. Looks like in my test install module initialization order was different than in yours, thus the for you (and in a stock KSP + pwings) the Pwings module is added before the stock control surface module. I have added a workaround.

Here is not the fixed DLL. The code change was after Line 473

var mCtrlSrf = part.Modules.OfType<ModuleControlSurface>().FirstOrDefault();

insert


if ((object)mCtrlSrf != null)
{

And then close the if at the end of the three mCtrlSrf lines with a }

Again, my apologies for not testing rigorously enough.

EDIT: Note that this is only because KSP's module loader doesn't catch; it would have worked fine ingame, just breaks the loader.

EDIT EDIT: BAD MODERATOR, BREAKING OWN RULES. BAD.

Edited by NathanKell

Share this post


Link to post
Share on other sites

Hey sweet, thanks. I was just doing some code diving (and trying to wrap my brain around something that it's not ready to tackle) and was just about to bring your attention to something I saw in there, but I'm glad you've found it yourself so I don't make myself look foolish. I honestly wouldn't know up from down in all that code. I've only had one successful compile, and all I did was swap some things around in lo-fi's repulsor module.

I also must apologize. I got a little heated in the head there. I guess it was bad timing for this error to show up, that's all.

Share this post


Link to post
Share on other sites

Apologies on my part too; I posted what I did about FAR because I know for a fact old-far doesn't play nice with current pwings, so I wrongfully assumed that was your issue. Glad it's sorted, and *thank you* for bringing the bug to my attention. :) (Always better to know and fix.)

Share this post


Link to post
Share on other sites
Here is the fix. Looks like in my test install module initialization order was different than in yours, thus the for you (and in a stock KSP + pwings) the Pwings module is added before the stock control surface module. I have added a workaround.

Here is the fixed DLL. The code change was after Line 473

var mCtrlSrf = part.Modules.OfType<ModuleControlSurface>().FirstOrDefault();

insert


if ((object)mCtrlSrf != null)
{

And then close the if at the end of the three mCtrlSrf lines with a }

Again, my apologies for not testing rigorously enough.

EDIT: Note that this is only because KSP's module loader doesn't catch; it would have worked fine ingame, just breaks the loader.

Was this patch before or after 9.1 release?

Share this post


Link to post
Share on other sites

The 0.9.1 release does not work for (some) people without NEAR/FAR. The dll I just posted is a fix for that.

Share this post


Link to post
Share on other sites

Hey :D This really is quite cool, though I guess it will take some practice, I have already managed to build planes that actually fly... Now all that's missing is procedural lifting bodies and I could build a Me 163 Komet.

BTW since this pretty much obsoletes all other wings, I quickly put this config together to hide them, and make the Aero tab navigable again: :D

// Squad:
// tailfin
@PART[tailfin]
{
%techRequired = Unresearchable
%category = -1
}
// sweptWing
@PART[sweptWing]
{
%techRequired = Unresearchable
%category = -1
}
// SP+ :
//connector1
@PART[wingConnector]
{
%techRequired = Unresearchable
%category = -1
}
//connector2
@PART[wingConnector2]
{
%techRequired = Unresearchable
%category = -1
}
//connector3
@PART[wingConnector3]
{
%techRequired = Unresearchable
%category = -1
}
//connector4
@PART[wingConnector4]
{
%techRequired = Unresearchable
%category = -1
}
//connector5
@PART[wingConnector5]
{
%techRequired = Unresearchable
%category = -1
}
//delta_small
@PART[delta_small]
{
%techRequired = Unresearchable
%category = -1
}
//connector5
@PART[deltaWing]
{
%techRequired = Unresearchable
%category = -1
}
//elevon1
@PART[StandardCtrlSrf]
{
%techRequired = Unresearchable
%category = -1
}
//elevon2
@PART[elevon2]
{
%techRequired = Unresearchable
%category = -1
}
//elevon3
@PART[elevon3]
{
%techRequired = Unresearchable
%category = -1
}
//elevon4
@PART[smallCtrlSrf]
{
%techRequired = Unresearchable
%category = -1
}
//elevon5
@PART[elevon5]
{
%techRequired = Unresearchable
%category = -1
}
//strake
@PART[wingStrake]
{
%techRequired = Unresearchable
%category = -1
}
//structural1
@PART[structuralWing]
{
%techRequired = Unresearchable
%category = -1
}
//structural2
@PART[structuralWing2]
{
%techRequired = Unresearchable
%category = -1
}
//structural3
@PART[structuralWing3]
{
%techRequired = Unresearchable
%category = -1
}
//structural4
@PART[structuralWing4]
{
%techRequired = Unresearchable
%category = -1
}
//swept1
@PART[sweptWing1]
{
%techRequired = Unresearchable
%category = -1
}
//swept2
@PART[sweptWing2]
{
%techRequired = Unresearchable
%category = -1
}

Share this post


Link to post
Share on other sites
Now all that's missing is procedural lifting bodies...

They're not explicitly called lifting bodies ingame, but FAR does apply lift to all kinds of fuel tanks and other fuselage pieces. And PWings are more than flexible enough to stand in for lifting bodies. I routinely make my wings fat enough to blend smoothly into the central fuselage; that's a lifting body in all but name.

Share this post


Link to post
Share on other sites

While FAR does not support asymmetric lifting bodies, it does support symmetric ones (all non-wing parts without drag model overrides are modeled as conic frustums). You should be able to fly a Mk2 cockpit and Mk2 fuselage as a lifting body. :)

(If you're fast enough a Mk1 fuselage system will work too....)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.