phoenix_ca Posted May 8, 2014 Share Posted May 8, 2014 That's a really situational question. If you could also allow speed to be tweaked with an action group, it wouldn't be a problem (especially with AGX). But I can see it becoming very confusing or difficult to sus-out a particular part for speed control. And gods help the poor soul trying to do that to many parts in symmetry or many parts that aren't even related if it's not adjustable with action groups. Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 That's a really situational question. If you could also allow speed to be tweaked with an action group, it wouldn't be a problem (especially with AGX). But I can see it becoming very confusing or difficult to sus-out a particular part for speed control. And gods help the poor soul trying to do that to many parts in symmetry or many parts that aren't even related if it's not adjustable with action groups.The other option is keep the Servo Control speed box but allow the person to tweak speed values individually, if the value differs, use the tweaked value on that part. Thoughts on that idea? Link to comment Share on other sites More sharing options...
InstaGibbon Posted May 8, 2014 Share Posted May 8, 2014 Alright, so, registered here just so I could share my embarrassment..I've only really started playing KSP since 0.23.5 was released, and fairly quickly started adding mods. Ever since, i've been struggling to get IR working - Parts weren't moving and the Toolbar icon wasn't showing. I tried a lot of things, read ~100 pages of this dev thread, and wasn't far from posting here to give a bug report / cry for help.Then, the programmer in me thought "naaaahh, there has to be something stupidly simple that's wrong", so I checked GameData for the 34523456th time. I noticed DamnedRobotics was still installed.Removed it, everything works perfectly..So, for any noob who didn't do their research, like me - They're not compatable. Just... don't do it.@sirkut: Maybe chuck in a line in the OP that mentions this if for no other reason than filtering out some potentially stupid bug reports..Here lies my dignity.On another note - keep up the excellent work guys, it's always great to see a good community supporting good developers. Link to comment Share on other sites More sharing options...
ZodiusInfuser Posted May 8, 2014 Share Posted May 8, 2014 I'll reiterate the answer I PM'ed sirkut with earlier. We should have a speed multipler in the IR window AND on the tweakable. In my mind the one in the window allows you to control the global speed of your action, so is pretty much the go-to one for all situations. A speed multiplier on each part would merely be used to compensate for the range of your part. For instance one of my new pivotrons rotates 90 degrees, and the hinges rotate 180. This multiplier would be used to half the speed of the first hinge so that they both get to their start and end positions at the same time. In the part I've done this with two separate groups, which not only makes things conceptually more difficult to manage but means you can't perform both at the same time. Having both multipliers gives you this flexibility.Idea for 2 new parts I think the community would enjoy:Stack mounted part that folds out 2 engine mounts from near center to far enough out to make the rocket exhaust clear the stack, would allow slim mounting of radial engines for those of us using FARYea, what sirkut said Next part has a similar purpose, but instead of allowing engines to pop out it would allow you to attach components in a radial fashion without having to use radial docking ports.How to describe it? Imagine a cylinder, it's sliced up into several discs that interlock into a solid enough cylinder, on the outside of the cylinder are symmetric vertical protruding lines, same number of lines as there are discs, say 4, each disc has a rotating pivot in one of the lines, from the top/bottom the action of the part deploying would look like one circle turning into 5, one in the middle and 4 around it.Obviously the discs wouldn't be completely solid, there would have to be come curves missing to allow for internal structure of the main cylinder without blocking the pivoting action if that makes sense.The 4 discs that fold out could either be docking ports or allow for mounting docking ports on a node, dock fuel tanks and engines to each circle to make an engine cluster in space.The nature of the mechanism would stagger each ring on the vertical axis a bit, not sure how big of an issue that would be.A 1.25, 2.5 and 3.75 version would make sense I think, question is how many radial circles per part? could perhaps make it only 2 and have people use several to get the number they want, I think using 3 each one turned 120 degrees to get 6 total would work nicely etc.I too have difficulty grasping this idea, could you perhaps draw a picture? Also, what you describe sounds like a single part with multiple robotics elements within it. This is not possible with IR, and goes against its construction style, since it's my job to give people the tools to make such devices rather than offer the complete things. For example, my phoenix implementation is many different parts that 'can' be assembled to have engines come out, but could have many other uses. Try and break your idea down to see what unique parts are required. Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Alright, I got the individual tweak speed added to the code. Now the next question is, what should the individual multiplier be? Currently I have:minValue = .1maxValue = 5stepIncrement = .1What would everyone feel would be a good range/increment to be? Link to comment Share on other sites More sharing options...
VaporTrail Posted May 8, 2014 Share Posted May 8, 2014 Just from my experiences with IR, I rarely go above 5 for anything "useful." The "pogo option" for liftoff has been really the only reason for exceptionally high speeds from linear driving parts. On the other hand, I think people have used large rotatrons for rover wheels at some point, so they might actually have a use for a higher speed setting. Link to comment Share on other sites More sharing options...
m1sz Posted May 8, 2014 Share Posted May 8, 2014 awesome work sirkut!, the tweakable speed will be great! What's the problem in letting the higher limit go high, like 100x or something?, People will still be able to use 4x if they want, and if someone tries to use IR for anything we can't think about (will happen) then we all have the chance to set some stupidly fast things On the other hand, if you want to keep it more realistic, some rotatrons could go at about 10.000 rpm Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Well keep in mind that this is for the tweakable speed. There will still be the Servo control speed textbox that a user can place a number in. Here's a scenario:The group speed is 5Tweakspeed (I need a better name for the tweak label for Speed) for the right hinge is 1Tweakspeed for the left hinge is 0.5Right hinge moves at 5x speed.Left hinge moves at 2.5x speed.As you can see the travel is different when I actuated the movement of the parts. Link to comment Share on other sites More sharing options...
taniwha Posted May 8, 2014 Share Posted May 8, 2014 sirkut: hey, don't let creature feep get in the way of releasing Link to comment Share on other sites More sharing options...
VR_Dev Posted May 8, 2014 Share Posted May 8, 2014 (edited) Awesome, I can finally upgrade to ARM. I am so jazzed for all the new options. No more .cfg tweaks and part reloading. This and the new procedural parts and I may never have to open a .cfg again.I assume the new plugin will still operate my custom parts. I'll try it out tonight. I can release my hovertank now too. Sirkut you are a gentlemen, scholar, and captain of industry Edited May 8, 2014 by clown_baby Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Awesome, I can finally upgrade to ARM. I am so jazzed for all the new options. No more .cfg tweaks and part reloading. This and the new procedural parts and I may never have to open a .cfg again.I assume the new plugin will still operate my custom parts. I'll try it out tonight. I can release my hovertank now too. Sirkut you are a gentlemen, scholar, and captain of industryThey will work BUT you will have to make changes to the CFG that won't impact any settings. Here's an example (changes in bold):PART{// --- general parameters ---name = IRHingeTallmodule = Partauthor = Sirkut & Devo// toggle parametersMODULE{name = MuMechTogglerotateJoint = TruerotateAxis = 1, 0, 0keyRotateSpeed = 20.0rotateLimits = TruerotateMin = -90.0rotateMax = 90.0rotateLimitsRevertKey = FalsejointSpring = 0jointDamping = 0onActivate = FalserotateKey = revRotateKey = fixedMesh = BaseservoName = New HingeinvertSymmetry = FalsemotorSndPath = MagicSmokeIndustries/Sounds/infernalRoboticMotor // Motor loop sound path}} Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 sirkut: hey, don't let creature feep get in the way of releasing creature feep? naw. People been asking for these features for far too long and I've grown tired of the constant requests for the same thing. At least then hopefully the only one I will constantly hear is "it would be nice if I could move the parts while in the VAB/SPH"Once I resolve one issue with the movement ranges I'm ready for a release. Hopefully today??? Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Made 2 install videos. Not sure how much more I can do to make it easier for people to install the mod. Link to comment Share on other sites More sharing options...
VR_Dev Posted May 8, 2014 Share Posted May 8, 2014 (edited) People been asking for these features for far too long and I've grown tired of the constant requests for the same thing.oh yeahh, about that. my bad. Also thanks a lot for the .cfg explanation. I hope having it as a part doesn't mess with the landing gear and engine parts I have that rotate. I doubt it will Edited May 8, 2014 by clown_baby Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 oh yeahh, about that. my bad. Also thanks a lot for the .cfg explanation. I hope having it as a part doesn't mess with the landing gear and engine parts I have that rotate. I doubt it willIt really shouldn't. Aren't those wrapped in it's own MODULE declaration as well? I can't remember. Link to comment Share on other sites More sharing options...
ZodiusInfuser Posted May 8, 2014 Share Posted May 8, 2014 As you can see the travel is different when I actuated the movement of the parts.http://i.imgur.com/0FxkidV.pngWoot! This is going to be an extremely useful ability when combined with the new range sliders .My only criticism is that the current method gives a lot of resolution at the high end but not enough at the low end, since the slider follows a linear scale. I tried to come up with some code to allow for a -1 to +1 scale to work, but its not trivial and isn't intuitive from a user point of view. To counteract this I suggest you have a linear slider from x1 to x5, with increments of 0.03333333333 (because 1/30 resolution allows for thirds and halves), and have a button to flip whether the speed value is a multiplier or divisor. That way you could make something be 25% slower or 25% faster. Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Woot! This is going to be an extremely useful ability when combined with the new range sliders .My only criticism is that the current method gives a lot of resolution at the high end but not enough at the low end, since the slider follows a linear scale. I tried to come up with some code to allow for a -1 to +1 scale to work, but its not trivial and isn't intuitive from a user point of view. To counteract this I suggest you have a linear slider from x1 to x5, with increments of 0.03333333333 (because 1/30 resolution allows for thirds and halves), and have a button to flip whether the speed value is a multiplier or divisor. That way you could make something be 25% slower or 25% faster.You are losing me. Why a multiplier or divisor? On the Servo Control window? On the Tweaked part?If I want a part to go 25% slower out of 5x, I use 0.25If I want a part to go 25% faster than 5x I use 1.25 Link to comment Share on other sites More sharing options...
ZodiusInfuser Posted May 8, 2014 Share Posted May 8, 2014 On the Tweaked part. The Servo Control is fine since it's a text box so any floating point value can be entered. Oh and 25% slower is 0.8 What I mean is if you have a 0.1 increment there are 5 steps between 0.5 and 1. Between 1 and 2 you have 10 steps, so double the resolution despite these being x2 and ÷2. Also for some values such as 1.4 (40%) there is no direct remap to a speed decrease, the exact slider value you'd need to set is 0.7142857... which obviously cannot be done. If you want the reverse of 0.7, you'd need to put 1.4285714... I could just be overthinking it though, since really only 0.5 and 2 will be the main values people use. Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 On the Tweaked part. The Servo Control is fine since it's a text box so any floating point value can be entered. Oh and 25% slower is 0.8 Yup, still lost here. If I want 25% of the number 5. It would be 0.25 * 5 = 1.25 which is what is calculated behind the scenes as the customspeed variable. What I was referring to was the tweak value being 0.25. Then it wouldn't matter what the Servo Control text box would be. If it's 1x or 10x, if you want 25% of any speed, make the tweak value 0.25 Now I can adjust the step increment to be 0.01 and let the resolution lie there but I don't see how anyone would want to go any further. Link to comment Share on other sites More sharing options...
ZodiusInfuser Posted May 8, 2014 Share Posted May 8, 2014 Yup, still lost here. If I want 25% of the number 5. It would be 0.25 * 5 = 1.25 which is what is calculated behind the scenes as the customspeed variable. What I was referring to was the tweak value being 0.25. Then it wouldn't matter what the Servo Control text box would be. If it's 1x or 10x, if you want 25% of any speed, make the tweak value 0.25All that logic is sound and what I assumed you were doing anyway. I was saying that 25% slower isn't the same as 25% of a value, but that's just a technicality that doesn't relate to the main point I was trying to make.Now I can adjust the step increment to be 0.01 and let the resolution lie there but I don't see how anyone would want to go any further.That is certainly possible, and like I say, maybe I'm over thinking things. That being said, here's a visual representation of the suggestion I was trying to propose:The difference here is you get the same resolution regardless of if you want the servo to go faster or slower, kind of like a Logarithmic scale. Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Ah. That's not how the tweak "scale" operates. It's just 1 increment and that's it. This would have to call for an additional tweak slider (then which would you pick?) and I'm not willing to do that just yet. Link to comment Share on other sites More sharing options...
toadicus Posted May 8, 2014 Share Posted May 8, 2014 I'm reasonably certain you could design a UI_FloatRange tweakable to have such variability in its resolution. Here's some code that would get close; be warned I'm just typing this into the forum from memory so I may have some names or syntax wrong. float bigStep = 02.f; // Because that's what's in Zodius' graphicfloat smallStep = 1f / 30f; // Because that's what's in Zodius' text/* * Probably useful to have an extension method like uiControlCurrent here, or at least * some logic to grab uiControlEditor if we're not in flight. */ UI_FloatRange myScaleTweakable = this.Fields["myScaleField"].uiControlFlight;if (this.myScaleField <= 1f && myScaleTweakable.stepIncrement == bigStep){ myScaleTweakable.stepIncrement = smallStep; myScaleTweakable.maxValue = 1f;}else if (this.myScaleField >= 1f && myScaleTweakable.stepIncrement == smallStep){ myScaleTweakable.stepIncrement = bigStep; myScaleTweakable.maxValue = 5f;}Now, UI_Control member updates aren't always drawn to the action menu right away, so it's possible that this wouldn't happen until the context menu was dismissed and recreated. You could probably force a dismissal, but I don't know specifically how. Link to comment Share on other sites More sharing options...
GamersInStinCt Posted May 8, 2014 Share Posted May 8, 2014 He's not using the VTOL hinge that is in the infernal robotics parts pack to do this. I would use a closed hinge to do this. Give one of those a try.Alright thanks. I have been wasting hours of my life trying to build this ****ing harrier. I figured he would be using something different, and I think he might have been using the old Damned Robotics mod instead. Link to comment Share on other sites More sharing options...
ZodiusInfuser Posted May 8, 2014 Share Posted May 8, 2014 Ah. That's not how the tweak "scale" operates. It's just 1 increment and that's it. This would have to call for an additional tweak slider (then which would you pick?) and I'm not willing to do that just yet.Hence having an invert button to switch from MasterScale * TweakScale, to MasterScale / TweakScale, with TweakScale being from 1 to 5 . Its not that elegant though, so perhaps toadicus' code may be worthwhile exploring (not for too long though ) Link to comment Share on other sites More sharing options...
sirkut Posted May 8, 2014 Author Share Posted May 8, 2014 Alright thanks. I have been wasting hours of my life trying to build this ****ing harrier. I figured he would be using something different, and I think he might have been using the old Damned Robotics mod instead.Probably using the close hinge. Mine is a close clone of it. Link to comment Share on other sites More sharing options...
Recommended Posts