Jump to content

Updating Old Mod... Maybe having problem with ModuleControlSurface?


Recommended Posts

So, I'm trying to update my old mods to work with newer versions... and I haven't touched them since around the .90 era....

I'm running into a VERY strange problem in the VAB. Of the parts in my Dreamchaser mod, the two wings, tail surface, nosecone and booster engine all have ModuleControlSurface modules (Yes, I know... booster engines and fixed noses shouldn't be control surfaces... but it took some hacking to make a lifting body that launches at the nose of a rocket fly in stock aerodynamics.... so let's skip over that bit of oddness and get to the bug.

Now... all of the parts EXCEPT the wings are exhibiting the following behavior in the VAB -

If I drag them straight from the selection menu panel to the right place on the ship I'm assembling, and then don't do any of the following things I'm going to list, I can launch and everything works perfectly... and the control surface is functioning correctly - i.e. the craft flies differently with the module commented out than with it included, so the module is doing it's job.

BUT.... if I do either of the following, breakage occurs.
If I attempt to left click the part attached to the craft, i cannot select and drag the part away from the ship.
If I shift click the craft to move the whole thing... the bugged part DOES NOT move with the craft. It stays right where it was. It DOES, however, remain fully opaque as if it was still a part of the craft... it's noticeably different from when a part is detached from the ship and left in space.

If I've done either of those things, when I launch the craft the bugged part will not be present in the flight scene at all. Just gone.

The ONLY difference in the config notecard format between the wings, which don't have the bug, and the other parts that do is that the wings actually have an animated part of the model with a transformName = obj_ctrlSrf defined, whereas the other parts, by virtue of being hacky control surfaces... don't have any moving pieces so don't have a transform defined. This didn't used to be a problem, but... is this now a required parameter? I don't have the original unity and blender files readily available... or i'd have added an empty transform and tested this myself... so it's a hassle I don't want to go through if it's not the fix...

Any other thoughts? Anyone else having problems with it?
Link to comment
Share on other sites

Wow, that's really strange.

I have tons of parts I haven't touched since back in the 0.90 days that still work, so it's not an issue with recompiling the MU files or whatever.

I've noticed some oddities in the VAB though, when I've had saved crafts that incorporated parts that needed to have their attachment nodes changed, among other things. Are you building the new ships from scratch in the VAB, or starting with a saved vehicle? If it's the latter, try starting fresh and see if it still does it.

One thing that changed since 0.90 is that the attachment node orientation matters, and is enforced by default, as an FYI.
Link to comment
Share on other sites

Nope, I'm starting fresh... and again, if I drag the part right into place and don't left click on it again in the VAB, it functions perfectly in flight. I can even RIGHT click on it in the VAB and adjust menu items without causing the error. But if I left click, I can't select it to move it, it doesn't follow the ship if I drag it away from that spot (but doesn't go translucent) and won't be present in the flight scene. Craziest thing I've seen in a while. And it's only the 3 parts with control surface modules... and removing the module fixes it.

The wings have a control surface module but also a lifting surface module... so I tried adding a lifting surface module to the other three parts, and it didn't fix it. I also tried adding the line transformName = obj_ctrlSrf to each of the control surface modules on the hope that, while the transform didn't exist and would generate a different error, that it might be enough to get them working, but no noticeable change. I'm going to try a clean install of KSP to make sure I'm not seeing the result of something else strange, and then I'm going to have to get Unity set up on my new machine and try to get my old hard drive working as an external to see if actually adding a transform helps... it's the only difference I'm seeing at the moment!

I SUPPOSE.... that since I'm still being lazy and using Firespitter for the wheels (gave up after a day of trying to make the stock wheel module work, but that was ages ago, and maybe I'm smarter now!) I could try firespitter's wing module instead of the stock control surface module... but I really planned to eventually fix the wheels and clear the firespitter dependency instead of using it more!



EDITED UPDATE : Clean install of KSP did NOT fix anything.... continuing to investigate! Edited by artwhaley
Link to comment
Share on other sites

That's really strange. The only things I noticed changing with the stock control surfaces are just a few settings (actuatorSpeed, ctrlSurfaceRange). KSP 1.0.5 changed some things pretty considerably with contracts and heat, but not control surfaces.

Looking at the 0.90->1.0.X changes though, I see that "transformName" field you're referring to. I'll bet this is it. Not specifying the right transforms for things that are expecting them can have [I]strange[/I] side-effects. I'd set that field to point to the name of one of your transforms in the model, so that it at least exists, and see what that does.
Link to comment
Share on other sites

NecroBones, thanks for talking through it with me- digging through each part and pointing "[COLOR=#333333]transformName =" at an actual null inside the .mu did in fact make it just work!

Thanks! Hope that helps someone else when they get confused! Really annoying error in that the symptoms have so little to do with the problem, given that the control surface is working fine even with the problem![/COLOR]
Link to comment
Share on other sites

Hey, glad it worked! Glad to help. :)

Yeah, there are a lot of things like that. Sometimes leaving a variable out is better than pointing it to something that doesn't exist, and other things need to exist even if it still works with it pointed at something empty like that, and so on. It can be very confusing, and it's different for each of the part modules.
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...