erendrake

[WIP] MSI's Infernal Robotics - Plugin Rework (Updated: 05/04/2015)

Recommended Posts

O94LBvF.png

Magic Smoke Industries - Infernal Robotics Rework

For several weeks straight the dedicated team, drafted from creators and maintainers of other mods, such as kOS, RemoteTech and TweakScale with the help from a real-life roboticist/part designer and a blessing from sirkut, joined forces to bring new life to one of the most popular mods in KSP. And now we are extremely excited to present you the latest revision of the famous Infernal Robotics. It has not been updated for far too long, and it deserves better. And now you can make it better too. The deal is - we provide you with the hot-off-the-press pre-release version of the Infernal Robotics mod and in return you unleash your creative powers to create more robotic contraptions (or just blow the dust off some of the old robotic creations of yours) and most importantly give us some feedback.

One of our goals for the rework was to provide as much backwards compatibility as possible, and we hope we succeeded in that aspect, so we don't expect any crafts to be broken (but study the changelog carefully, especially those of you who use kOS to control your robotics).

You can use TweakScale with Infernal Robotics, although it is not required. But it does bring a lot of flexibility in building your robotic creations, and most of our parts were designed with TweakScale in mind.

For your convenience we've included Legacy robotic parts in the download, but we do recommend using Zodius's Model Rework parts

You can download the latest version of the Rework project

HERE

This is a work in progress and has not been fully tested to work with existing saves. you have been warned

You can provide feed either here or via submitting an issue on github(or even both).

Here's the brief video overview of the new features:


Changes in v0.20c
* Minor UI Events renames
* Bugixes: invertAxis&Keys persistense, min/max range tweakbles hidden for translating parts
* Fixed min/max range ot showing in Flight for translating parts
* Peristence Related BugFixes + InvertAxis Button

Changes in v0.20b
* More Code Cleanup
* GUI Enhancements
* Custom category in Editor listing all robotic parts.
* Editor and Flight window width is scaled dynamically
* Editor window now has an option to revert servo to 0
* In Preset Editor added button to move servo to preset, works in flight too.
* Position and ranges for inverted axis parts are now shown correctly and in different style
* Some new icons
* New Tweakscale configs
* Some minor bugfixes

Changes in v0.20a
* **BREAKING:** Field "Coarse Speed" has been renamed **in UI** to just "Speed". Will affect all KOS scripts that read or change that field. Field name in part.cfg has not changed, so all existing crafts should load successfully.
* BREAKING: part config fields "maxRange" and "minRange" are now obsolete. There are no current or legacy parts that use those two fields.
* NEW: All controllable servos now have acceleration parameter. As the name suggest it is the rate at which servos speed up or slow down. Default value for legacy parts is 4x.
* NEW: You can create preset positions for all controllable servos and switch between them in flight (editor preset position switching is coming up soon). Presets are automatically sorted from lowest to highest and you can only switch from current preset to next or previous one. For examples refer to the video overview linked below.
* Redesigned Editor UI to fit most of the relevant fields and actions in one window. You can now move individual servos and change their main parameters from single IR window without the need to right-click every servo.
* Redesigned in-flight controls to accommodate all new changes and for better readability.
* All IR in-flight windows now obey F2 command (hide/show UI) and should not get in the way of your awesome screenshots.
* TweakScale configs on Legacy parts have been fixed to work with the latest version of TweakScale.
* All buttons now have basic tooltips.
* Servo sound's pitch now scales with servo's movement speed

This software & parts are released under the GNU GPL version 3, 29 July 2007.

The IR Rework Team

erendrake,

pellinor0,

ZodiusInfuser,

sirkut,

Ziw

Edited by erendrake
Prerelease 2

Share this post


Link to post
Share on other sites

Awesome! The one piece of feedback I have so far is that the problem with scaling IR parts up with TweakScale does not seem to be solved. That would be a really, really nice feature to have for absurdly large robotic contraptions.

Otherwise... the new interface is much improved, and the whole presets idea is great, I can see that being very useful (toggling between "stowed" and "deployed", or things like that).

EDIT: Second bit: when I made a preset (fully open) on a hinge while in flight, then activated that preset (hit the next preset button), IR threw an exception. Log: https://dl.dropboxusercontent.com/u/59567837/output_log_EPLexceptionsMissionManager.txt

Edited by AccidentalDisassembly

Share this post


Link to post
Share on other sites

It's about time someone took up the reins and started developing with this again. I've got plans... and I need my robotic legs to make them happen... and a lot of luck, which is in short supply... but I'll settle for the robotics first and deal with the luck when I have more time.

Share this post


Link to post
Share on other sites
Awesome! The one piece of feedback I have so far is that the problem with scaling IR parts up with TweakScale does not seem to be solved. That would be a really, really nice feature to have for absurdly large robotic contraptions.

Otherwise... the new interface is much improved, and the whole presets idea is great, I can see that being very useful (toggling between "stowed" and "deployed", or things like that).

EDIT: Second bit: when I made a preset (fully open) on a hinge while in flight, then activated that preset (hit the next preset button), IR threw an exception. Log: https://dl.dropboxusercontent.com/u/59567837/output_log_EPLexceptionsMissionManager.txt

I see a plenty of exceptions in your log, but none of them have anything to do with IR (mostly other mods). Can you try to reproduce your error on a clean(er) install on your system, at least without Clouds, Realchutes and EPL?

Share this post


Link to post
Share on other sites

Yay! It's finally out in the open!

FYI, I am in the process of updating the Model Rework for this new version of IR, but for now the existing parts should work without much issue (but don't take advantage of some of the newer features such as default presets)

Share this post


Link to post
Share on other sites

Just a short feedback on the video:

Please either make the music quieter or speak louder. It's like you are desperately trying to not be heard :D

Will download this in an instant, glad to see someone took this up. Thanks for your effort.

FYI, I am in the process of updating the Model Rework for this new version of IR, but for now the existing parts should work without much issue (but don't take advantage of some of the newer features such as default presets)

Awesome!

Share this post


Link to post
Share on other sites

The tweakable acceleration is great. Really cuts down on vehicle shaking when robotic parts start and stop. Fantastic work on that and the rest as well!

Edit: The sound scaling is a really nice touch.

Share this post


Link to post
Share on other sites
Just a short feedback on the video:

Please either make the music quieter or speak louder. It's like you are desperately trying to not be heard :D

It was recorded quite late, but you're right, I should've turned the music lower. I will post updated video for main release.

- - - Updated - - -

The tweakable acceleration is great. Really cuts down on vehicle shaking when robotic parts start and stop. Fantastic work on that and the rest as well!

Edit: The sound scaling is a really nice touch.

Thanks! Sound pitch scaling apart from pure aesthetic aspect also serves as some sort of audible indication of what is happening with a servo: is it stopping, picking up velocity or moving at constant speed.

Share this post


Link to post
Share on other sites

I loaded up an existing ship with this new version installed and the parts had been scaled down quite significantly. These parts were the default sizes (I hadn't rescaled them). Is that expected or do I need to install new tweakscale and overwrite kspapiextensions again after installing the new IR?

Share this post


Link to post
Share on other sites

You don't have to overwrite the kspapiextensions, but installing latest TweakScale should help. If it doesn't - please post your craft here

Share this post


Link to post
Share on other sites

I overwrote my tweakscale but I think I already had the latest. Here's the craft file... it's a bit... ambitious.

You will see that all the joints on the hips, knees, shoulders, and ankles have tiny rotators (should be the big one). The rear reinforcing pistons on the legs and balance gantries inside the torso have also shrunk down.

I think I've removed all of the other mod parts, if not then the missing parts will be from BD armoury and KAS.

https://drive.google.com/file/d/0B2m8Wm1qifJuS0lETmpRcFFjMTA/view?usp=sharing

This is also a good example of the wobbling. I have KJR installed and I even tried using multiple rotators for the waist and hip movements. For example, for the hips I have rotators that the legs are attached to, and then another set of rotators inside those and coaxial with the first. The inner set just have an ibeam each that runs down the inside of the leg and is strutted to it in an attempt to make the thing more rigid. Same idea for the waist.

If you hoist the mech up on some launch clamps and hit action group 6 or 8 to move the hips (currently both in the same direction, still working on a KOS script), then stop moving, the legs will flop around quite a lot. The hip joints are attached to the waist joint by structural girders, and these girders slide all over the waist rotator. The hips rotators also rotate back and forth even when movement is stopped and even when the rotators are locked. The legs look big but they're not very heavy.

o2BpQxt.png

Edited by allmhuran

Share this post


Link to post
Share on other sites

Are you planning on adding the surface sampler into this? There are probably a few updates I should make to its code, mostly to make sure different tweakscale configs don't break things.

Share this post


Link to post
Share on other sites
Are you planning on adding the surface sampler into this? There are probably a few updates I should make to its code, mostly to make sure different tweakscale configs don't break things.

If the others agree, my plan was to keep the sampler as part of the optional Utility Pack of parts for IR, when that's ready for release. It will feature tweakscale on it this time (80% and 125%), so if you could check things that would be appreciated. Also I now have a sound file that it would be nice if the part could play when triggered. Was planning to PM you soon about it.

Share this post


Link to post
Share on other sites
I overwrote my tweakscale but I think I already had the latest. Here's the craft file... it's a bit... ambitious.

You will see that all the joints on the hips, knees, shoulders, and ankles have tiny rotators (should be the big one). The rear reinforcing pistons on the legs and balance gantries inside the torso have also shrunk down.

I think I've removed all of the other mod parts, if not then the missing parts will be from BD armoury and KAS.

https://drive.google.com/file/d/0B2m8Wm1qifJuS0lETmpRcFFjMTA/view?usp=sharing

This is also a good example of the wobbling. I have KJR installed and I even tried using multiple rotators for the waist and hip movements. For example, for the hips I have rotators that the legs are attached to, and then another set of rotators inside those and coaxial with the first. The inner set just have an ibeam each that runs down the inside of the leg and is strutted to it in an attempt to make the thing more rigid. Same idea for the waist.

If you hoist the mech up on some launch clamps and hit action group 6 or 8 to move the hips (currently both in the same direction, still working on a KOS script), then stop moving, the legs will flop around quite a lot. The hip joints are attached to the waist joint by structural girders, and these girders slide all over the waist rotator. The hips rotators also rotate back and forth even when movement is stopped and even when the rotators are locked. The legs look big but they're not very heavy.

http://i.imgur.com/o2BpQxt.png

Your craft loaded completely fine on my test install.

Can you try backuping somewhere and then deleting your MagicSmokeIndustries folder in Game Data and install a fresh copy of pre-release and try again. It seems your TweakScale configs are a bit outdated and have not been overwritten.

BTW nice Timber Wolf!

Edited by Ziw

Share this post


Link to post
Share on other sites

Roger that, I will give it another go tomorrow.

The timberwolf will be nice when I can get it to walk :D

Share this post


Link to post
Share on other sites
I see a plenty of exceptions in your log, but none of them have anything to do with IR (mostly other mods). Can you try to reproduce your error on a clean(er) install on your system, at least without Clouds, Realchutes and EPL?

Hmm, I think I must have posted the wrong log, because the copy of KSP I was using to test the new MechJeb doesn't have Clouds/Realchutes/EPL... Was it not this log I posted before? : https://dl.dropboxusercontent.com/u/59567837/output_logNewIRException.txt

Also, what about the long-standing TweakScale issue?

Possibly the relevant bits:

IR: [Action] NextPreset, currentPos = 0, nextPosition=0

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

IR: configureInterpolator:Interpolator {

CmdPosition = 0

CmdVelocity = 20

Active = False

Position = 0

Velocity = 0

MinPosition = 0

MaxPosition = 180

MaxVelocity = 5000

MaxAcceleration = 80

IsModulo = False

}

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

InvalidOperationException: Operation is not valid due to the current state of the object

at System.Linq.Enumerable.Iterate[single,Single] (IEnumerable`1 source, Single initValue, System.Func`3 selector) [0x00000] in <filename unknown>:0

at System.Linq.Enumerable.Min (IEnumerable`1 source) [0x00000] in <filename unknown>:0

at InfernalRobotics.Module.MuMechToggle.MoveNextPreset () [0x00000] in <filename unknown>:0

at InfernalRobotics.Gui.ControlsGUI+ControlGroup.MoveNextPreset () [0x00000] in <filename unknown>:0

at InfernalRobotics.Gui.ControlsGUI.ControlWindow (Int32 windowID) [0x00000] in <filename unknown>:0

at UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID) [0x00000] in <filename unknown>:0

at UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style) [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException

at (wrapper managed-to-native) UnityEngine.MeshFilter:set_sharedMesh (UnityEngine.Mesh)

at SpriteMesh.CreateMesh () [0x00000] in <filename unknown>:0

at SpriteMesh.get_mesh () [0x00000] in <filename unknown>:0

at SpriteRoot.Delete () [0x00000] in <filename unknown>:0

at SpriteBase.Delete () [0x00000] in <filename unknown>:0

at UIListItemContainer.Delete () [0x00000] in <filename unknown>:0

at UIScrollList.RemoveItem (Int32 index, Boolean destroy, Boolean doEasing) [0x00000] in <filename unknown>:0

at UIScrollList.RemoveItem (IUIListObject item, Boolean destroy, Boolean doEasing) [0x00000] in <filename unknown>:0

at UIScrollList.RemoveItem (IUIListObject item, Boolean destroy) [0x00000] in <filename unknown>:0

at ApplicationLauncher.RemoveApplication (.ApplicationLauncherButton button) [0x00000] in <filename unknown>:0

at ResourceDisplay.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

NullReferenceException

at (wrapper managed-to-native) UnityEngine.Component:InternalGetGameObject ()

at UnityEngine.Component.get_gameObject () [0x00000] in <filename unknown>:0

at MapView.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

IR: [GUI] destroy

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

IR: [GUI] OnDestroy finished sucessfully

Share this post


Link to post
Share on other sites
Hmm, I think I must have posted the wrong log, because the copy of KSP I was using to test the new MechJeb doesn't have Clouds/Realchutes/EPL... Was it not this log I posted before? : https://dl.dropboxusercontent.com/u/59567837/output_logNewIRException.txt

Also, what about the long-standing TweakScale issue?

Possibly the relevant bits:

Thank you, we've added more checks into the preset movement code. New version of pre-release would be up soon for you to test. What TweakScale issue are you having? Have you tried making a clean install of IR?

Share this post


Link to post
Share on other sites
Is this stable enough for use? I know it says WIP.

I'm using it on my career save right now. I know, I'm that risky :)

Seriously speaking, it is stable enough, so it should not crash your game or corrupt your save. We wanted to make a pre-release to get some feedback, not only bugs, but feedback on some new ways robotic parts now operate (acceleration, presets, sound pitching), so we can maybe adjust them before release.

Share this post


Link to post
Share on other sites

I'm not exactly sure if the IR toolbar icon is supposed to show up in flight mode and VAB/SPH when you don't have any IR parts on, but I think it (like MKS orbital logistics and station manager buttons) doesn't like to be dds'fied.

Edit: Yeah, it either doesn't like to be dds'ified or theres something else I'm missing because I put an IR part on and it didn't show up.

Edit2: I can't seem to find the icon in the folder from the download in this thread. Actually, the icon showed up just fine earlier before I downloaded this and had it overwrite the stuff, though maybe it's possible something wierd happened.

Edit3: I reverted the MSI folder to backup using the DDS for KSP, which is what I used to convert them, so, lets see.

Edited by smjjames

Share this post


Link to post
Share on other sites
I'm not exactly sure if the IR toolbar icon is supposed to show up in flight mode and VAB/SPH when you don't have any IR parts on, but I think it (like MKS orbital logistics and station manager buttons) doesn't like to be dds'fied.

Edit: Yeah, it either doesn't like to be dds'ified or theres something else I'm missing because I put an IR part on and it didn't show up.

Edit2: I can't seem to find the icon in the folder from the download in this thread. Actually, the icon showed up just fine earlier before I downloaded this and had it overwrite the stuff, though maybe it's possible something wierd happened.

Edit3: I reverted the MSI folder to backup using the DDS for KSP, which is what I used to convert them, so, lets see.

Please do not DDSfy our icons. We load them ourselves in our code. Icons are 32x32 pixels, you won't save much by DDSing them.

Share this post


Link to post
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.