Jump to content

[0.90] Magic Smoke Industries Infernal Robotics - 0.19.3


sirkut

Recommended Posts

I have the adjusted increment step almost working but I realized an alternative. What if I gave an array of options instead through another tweak option that allows you to define what step to use. I would be easier to code and wouldn't require any trickery and shouldn't require a redraw of the tweak window.

In my view, the primary failing with that concept is the lack of a change to maxValue on the tweakable. I've found it very hard to use tweakables with more than about 20 steps. The resolution is just too fine; a tiny movement of the mouse goes several steps. If all you're changing is the stepIncrement, you can get really fine control, but you'd need a $90 mouse to actually use it. If I'm right in guessing maxValue as the primary driver for redrawing the action menu, tweaking it has the same problem as adjusting it in logic.

Link to comment
Share on other sites

I'm searching the thread, but I'm not having any luck. I'm sure its just my search terms and me not able to express myself properly.

Is there a way to build something in the "extended" position, but have it default to "closed" position on the launch pad?

For instance, making a folded-up satellite: The only way for me to visualize what I want is to build it with the arms extended. However, when it loads on the launchpad, everything is extended. Before I can launch, I have to manually activate the servos to put the whole thing in its "folded" position. Which means, things start on the launch-pad poking through fairings, and I have to cross my fingers that I don't break those fairings while retracting the arms.

Link to comment
Share on other sites

I'm searching the thread, but I'm not having any luck. I'm sure its just my search terms and me not able to express myself properly.

Is there a way to build something in the "extended" position, but have it default to "closed" position on the launch pad?

For instance, making a folded-up satellite: The only way for me to visualize what I want is to build it with the arms extended. However, when it loads on the launchpad, everything is extended. Before I can launch, I have to manually activate the servos to put the whole thing in its "folded" position. Which means, things start on the launch-pad poking through fairings, and I have to cross my fingers that I don't break those fairings while retracting the arms.

Short answer no. Plugin has zero code to handle that during the editor. It's been asked plenty of times already so it's nothing new. :)

Link to comment
Share on other sites

In my view, the primary failing with that concept is the lack of a change to maxValue on the tweakable. I've found it very hard to use tweakables with more than about 20 steps. The resolution is just too fine; a tiny movement of the mouse goes several steps. If all you're changing is the stepIncrement, you can get really fine control, but you'd need a $90 mouse to actually use it. If I'm right in guessing maxValue as the primary driver for redrawing the action menu, tweaking it has the same problem as adjusting it in logic.

Well I don't want the user to change the max or min value of the range as that would break the "reality" of the parts as it starts to clip on itself. If you what you say is true could I not just reassign max value the same value it has just to cause it to redraw?

Link to comment
Share on other sites

I'd be more concerned about the NullReferenceException spam around EditorLogic.CheckSymPartsAttach(), which doesn't happen until later on and I'm guessing (just guessing) that it is happening when you pick up those pistons and dance them around to show off the bad frame rate for the video. Since no mod is directly implicated in that -- it's not happening during a mod call, and there's no mod error right around it, and all of your parts have been started for a few seconds already as evidenced by the KER "Total simulation time" spam -- it's really hard to even guess why that might be happening.

Hmm... So it's just one of those things then, I guess? I'll try that dll out, thanks. But it's of course entirely possible that it was just a one-off thing that I won't be able to replicate or know if your dll fixed or what.. Ah well, these things happen. My thanks to both you and sirkut for being patient and helpful :)

Link to comment
Share on other sites

Short answer no. Plugin has zero code to handle that during the editor. It's been asked plenty of times already so it's nothing new. :)

Thanks. I assumed in 300 pages someone else had the same thought, but i couldn't think of what else to search for. Maybe I'll get creative in my building process.

Link to comment
Share on other sites

<snip>

If it helps, I've found that launching, testing and reverting a lot is most useful. So just design your payload with the first couple of hinges/rotatrons/pistons done, launch, see what happens, then revert and change stuff as necessary. Launch again to make sure it's doing what you want, revert, add on the next 'layer' of servos, launch, test etc etc.. it's tedious, but it gets the job done.

Link to comment
Share on other sites

It also helps to think backwards visually. It's what I've always done and I never once wished I could move the parts in the editor. Maybe I'm weird.

Link to comment
Share on other sites

For the tweakable discussion, you could go with two sliders - one having a large stepIncrement and maxValue, the other being simply an offset on that. Something like:

[KSPField(isPersistant = true, guiActive = false, guiActiveEditor = true, guiName = "Rough Speed")]
[UI_FloatRange(minValue = 0f, maxValue = 5f, stepIncrement = 0.2f)]
public float roughSpeed = 1;
[KSPField(isPersistant = true, guiActive = false, guiActiveEditor = true, guiName = "Detail Speed")]
[UI_FloatRange(minValue = -0.1f, maxValue = 0.1f, stepIncrement = 0.01f)]
public float detailSpeed = 0;

float realSpeed
{
get
{
return roughSpeed + detailSpeed;
}
}

Or, maybe:

[KSPField(isPersistant = true, guiActive = false, guiActiveEditor = true, guiName = "Rough Speed")]
[UI_FloatRange(minValue = 0f, maxValue = 5f, stepIncrement = 0.2f)]
public float roughSpeed = 1;
[KSPField(isPersistant = true, guiActive = false, guiActiveEditor = true, guiName = "Detail Speed")]
[UI_FloatRange(minValue = 0.9f, maxValue = 1.1f, stepIncrement = 0.01f)]
public float detailSpeed = 1;

float realSpeed
{
get
{
return detailSpeed;
}
}

public void Update()
{
if (savedRoughSpeed != roughSpeed)
{
var detailOffset = detailSpeed - savedRoughSpeed;
var range = (UI_FloatRange)this.Fields["detailSpeed"].uiControlCurrent;
range.minValue = roughSpeed - 0.1f;
range.maxValue = roughSpeed + 0.1f;
detailSpeed = roughSpeed + detailOffset;
}
}

or maybe it's better to accept that the tweakable system is not ideal for this.

Link to comment
Share on other sites

If it helps, I've found that launching, testing and reverting a lot is most useful. So just design your payload with the first couple of hinges/rotatrons/pistons done, launch, see what happens, then revert and change stuff as necessary. Launch again to make sure it's doing what you want, revert, add on the next 'layer' of servos, launch, test etc etc.. it's tedious, but it gets the job done.
It also helps to think backwards visually. It's what I've always done and I never once wished I could move the parts in the editor. Maybe I'm weird.

Thanks for the tips. My process today has been to build it the way I want to look without the servos in place. Then pull them off, rotate to the "closed" position, attach servos where they should go. It seems to work for simple structures. I don't know if this might be harder for bigger machines.

Link to comment
Share on other sites

I just want to clear something up before sirkut releases hist next version.

Kreuzung and I both worked on converting Damned Robotics/Infernal Robotics to use PartModule, in semi-parallel (separated by several months, neither knowing the other was doing anything). I mentioned I was working on fixing IR (with the PartModule conversion mostly done) to him one day in IRC and he sent me his code for fixing the joints (which also included his PartModule conversion).

Now, I do not know how much his conversion work influenced mine, and I don't particularly care. I'm perfectly happy to share the credit (or even give it all to him). My main indisputable contribution is in not breaking most saves, and maybe some optimizations and general code cleanup.

As far as I am concerned, Kreuzung's joint code contribution is far more important to the end-user than anything I did. If anything, I made more work for sirkut :P

Link to comment
Share on other sites

I just want to clear something up before sirkut releases hist next version.

Kreuzung and I both worked on converting Damned Robotics/Infernal Robotics to use PartModule, in semi-parallel (separated by several months, neither knowing the other was doing anything). I mentioned I was working on fixing IR (with the PartModule conversion mostly done) to him one day in IRC and he sent me his code for fixing the joints (which also included his PartModule conversion).

Now, I do not know how much his conversion work influenced mine, and I don't particularly care. I'm perfectly happy to share the credit (or even give it all to him). My main indisputable contribution is in not breaking most saves, and maybe some optimizations and general code cleanup.

As far as I am concerned, Kreuzung's joint code contribution is far more important to the end-user than anything I did. If anything, I made more work for sirkut :P

Work for everyone! :) I can't thank both on you enough on contributions made. This includes ozraven, omgnull, and mrblaq. In the next update I will give proper credit to all of you guys. Now if I can finish one more thing I will have this ready this weekend!

Link to comment
Share on other sites

for some reason im still having a toolbar issue. wont do anything, I get the icon in the toolbar but it doesn't do anything. im working on a few things, see if I can get it to work

EDIT: ya idunno.. are you all using the toolbar, what kind of options should pop up when I push the button.. far as I can tell it doesn't do anything for me. suggestions?

Edited by CrazyCanadian
Link to comment
Share on other sites

for some reason im still having a toolbar issue. wont do anything, I get the icon in the toolbar but it doesn't do anything. im working on a few things, see if I can get it to work

EDIT: ya idunno.. are you all using the toolbar, what kind of options should pop up when I push the button.. far as I can tell it doesn't do anything for me. suggestions?

Uhhh, if I'm not mistaken, that'd be because a more definitive fix for that is still in the works. 0.14-stable doesn't include it.

Right from the OP:

The toolbar in flight sometimes doesn't want to hide the Servo controls. I'll be working on these in the next update.
Link to comment
Share on other sites

ugh .14 and my custom parts are not playing well together...

LOL wow.. the coincidental timing is incredible...

So I'm working on trying to find a way to backup Spaceport. I'm idly rummaging through the various things coming down, and one of them is YOUR entry for your Zoid. I *just* finished watching the video for that (amazing work btw!), and then come back to see you've posted. It's like you knew....

*checks room for hidden cameras*

Link to comment
Share on other sites

oh you mean

thanks a lot.

Yeah my plan is to make a whole mod of custom, walking, flying, fighting zoids.

Here's my first one. It's the big ol t-rex there in my signature. It requires the IR plugin though. Which is why I'm here.

But enough shameless project plugs. Sirkut I assume the changes that need to be made to the .cfg you showed me will be in the next version with tweakables? Because all the .cfgs of .14 look pretty much the same. For some reason though my parts act differently. They still move, but not in the correct way.

It's gonna be alot of work to get each of them working correctly again, but I don't wanna spend a lot of time fixig them if .15 is gonna change them all again. Currently I have 7 parts calling the plugin, which is just a lot of work to change.

Edited by clown_baby
Link to comment
Share on other sites

oh you mean
thanks a lot.

Yeah my plan is to make a whole mod of custom, walking, flying, fighting zoids.

Here's my first one. It's the big ol t-rex there in my signature. It requires the IR plugin though. Which is why I'm here.

But enough shameless project plugs. Sirkut I assume the changes that need to be made to the .cfg you showed me will be in the next version with tweakables? Because all the .cfgs of .14 look pretty much the same. For some reason though my parts act differently. They still move, but not in the correct way.

It's gonna be alot of work to get each of them working correctly again, but I don't wanna spend a lot of time fixig them if .15 is gonna change them all again. Currently I have 7 parts calling the plugin, which is just a lot of work to change.

Well news flash, you are going to have the change your CFG files whether they worked or not because the parts are no longer MuMechServos but are now parts. You will also have to wrap all the infernal robotics specific variables around the MODULE declaration in the CFG. Might as well expect to edit each one anyway or they won't work at all when 0.15 is released.

Link to comment
Share on other sites

Yeah I get that. And I tried it like:

{

name =

module = part

model =

MODULE

{

name = MuMechToggle

}

}

And that didn't work at all, the servo names wouldn't even show up in the editor. Then I opened up the .cfg for your .14 parts and noticed it was still laid out like

{

name =

module = MuMechServo

model

}

Which is why I thought maybe you were referring to future cfgs. So then I copied the whole .cfg for the tall hinge and just changed what I needed like I had done before for my custom parts. And they move, just not really correctly. I'll figure it out, I just thought maybe there was some other change I was missing

Edited by clown_baby
Link to comment
Share on other sites

I think Sirkut means that the next CFG versions will need to follow the Part/MuMechToggle combo. For now though, have you tried playing around with the rotation axes of the parts. IIRC that was changed about a bit as part of the 0.14 update.

Link to comment
Share on other sites

This next update sounds like a doozy. I think I'll just...not use IR until it's released. Starting a new game and all.

Taniwha added code that will read the old legacy encoded saved game data for the robotics and it appears to work well although I haven't done extensive testing with it.

Link to comment
Share on other sites

I haven't followed the discussion in quite some time, so forgive me if I am missing something.

Today for the first time since 0.14 was released I decided to play around with a little more complex crane, consisting of many IR parts stacked on one another.

I use it do dock components together via those tube parts that you see attached on the grapple.

So...

https://www.dropbox.com/s/tg7gez2md61z7ry/Screenshot%202014-05-11%2021.11.03.png

https://www.dropbox.com/s/undlujkjsicietc/Screenshot%202014-05-11%2021.10.11.png

I thought that issue was fixed in 0.14?

Link to comment
Share on other sites

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