Jump to content

[WIP] MSI's Infernal Robotics - Model Rework (v02 Pre-Release Beta)


ZodiusInfuser

Recommended Posts

//KOS
//CC attribution Peter Goddard (2015)
//Servo routine with position seek
// command structure: run seek(1,55) this will seek 55 degrees for all parts named "Rotatron - Right-Angle"
declare parameter sel.
declare parameter seek.

// Title Name
if sel = 1 SET part to "Rotatron - Right-Angle". //IR_Rotatron_Right min -360 max 360
if sel = 2 SET part to "Foldatron - Wide Angle (180 degrees)". //IR_Foldatron_ExtendedRange min 0 max 180
if sel = 3 SET part to "Foldatron - Hinge". //IR_Foldatron_Hinge min 0 max 180
if sel = 4 SET part to "Foldatron - Inset (Start)". //IR_Foldatron_Inset min -360 max 360
if sel = 5 SET part to "IR-M Rover Movatron - Large". //IR_LargeWheel min -360 max 360


set speed to 2.
SET HALTLIST TO LIST().
//sets up part list and sets list of PartModules for those parts
Set Servoget To Ship:PARTSDUBBED(part).
Set Servomods To List().
for L In Servoget{servomods:add(L:getmodule("mumechtoggle")).}.
//loops through list, sets the range of travel to currentpos & seekpos
set x to 1.5.
Until x = 0{
set Index To 0.
HALTLIST:CLEAR().
until Index = Servomods:length{
set Servo To Servomods[index].
set position to Servo:GetField("Rotation:").
if seek < position {set minimum to seek. set maximum to position.}
else {set maximum to seek. set minimum to position.}
Servo:SETFIELD("Min Rotate", minimum).
Servo:SETFIELD("Max Rotate", maximum).
//find the direction to move, and move
if seek < position {servo:DOACTION("move -", true).}
else {servo:DOACTION("move +", true).}
//accel and decel experimental uncomment to try it
//if abs (position - seek) > 15 {set speed to speed * 1.15.}
//else {set speed to speed * .5.}
Servo:SETFIELD("coarse speed", speed).
//stop movement
if seek = position {servo:DOACTION("move +", FALSE). servo:DOACTION("move -", FALSE). HALTLIST:ADD(INDEX).}
set Index To Index + 1.
}
if HALTLIST:length >= Servomods:length {Break.}
}


Link to comment
Share on other sites

//KOS
//CC attribution Peter Goddard (2015)
//Servo routine with position seek
// command structure: run seek(1,55) this will seek 55 degrees for all parts named "Rotatron - Right-Angle"
declare parameter sel.
declare parameter seek.

// Title Name
if sel = 1 SET part to "Rotatron - Right-Angle". //IR_Rotatron_Right min -360 max 360
if sel = 2 SET part to "Foldatron - Wide Angle (180 degrees)". //IR_Foldatron_ExtendedRange min 0 max 180
if sel = 3 SET part to "Foldatron - Hinge". //IR_Foldatron_Hinge min 0 max 180
if sel = 4 SET part to "Foldatron - Inset (Start)". //IR_Foldatron_Inset min -360 max 360
if sel = 5 SET part to "IR-M Rover Movatron - Large". //IR_LargeWheel min -360 max 360


set speed to 2.
SET HALTLIST TO LIST().
//sets up part list and sets list of PartModules for those parts
Set Servoget To Ship:PARTSDUBBED(part).
Set Servomods To List().
for L In Servoget{servomods:add(L:getmodule("mumechtoggle")).}.
//loops through list, sets the range of travel to currentpos & seekpos
set x to 1.5.
Until x = 0{
set Index To 0.
HALTLIST:CLEAR().
until Index = Servomods:length{
set Servo To Servomods[index].
set position to Servo:GetField("Rotation:").
if seek < position {set minimum to seek. set maximum to position.}
else {set maximum to seek. set minimum to position.}
Servo:SETFIELD("Min Rotate", minimum).
Servo:SETFIELD("Max Rotate", maximum).
//find the direction to move, and move
if seek < position {servo:DOACTION("move -", true).}
else {servo:DOACTION("move +", true).}
//accel and decel experimental uncomment to try it
//if abs (position - seek) > 15 {set speed to speed * 1.15.}
//else {set speed to speed * .5.}
Servo:SETFIELD("coarse speed", speed).
//stop movement
if seek = position {servo:DOACTION("move +", FALSE). servo:DOACTION("move -", FALSE). HALTLIST:ADD(INDEX).}
set Index To Index + 1.
}
if HALTLIST:length >= Servomods:length {Break.}
}


That's cool! I have a feeling though that it will need to be tweaked when the new version of Infernal Robotics comes around ;)

Link to comment
Share on other sites

Hi All,

I just want to let you know that I'm thinking of removing some of the duplicate parts within the next Model Rework update. The reason for this is because the main plugin (with the WIP additions going on here: http://forum.kerbalspaceprogram.com/threads/114014) is now at a point where its easy enough to create those duplicate parts by configuring them.

I'd like your thoughts on this though. Would you prefer I remove the duplicate parts (but release a separate pack so as not to break peoples saves), or keep them to save people having to reconfigure to the different versions? Here's a strawpoll: http://strawpoll.me/3968810

As an example, one part that would be removed is the open hinge, meaning that you'd have to set the closed hinge to an open angle to get the same result.

Thanks in advance

Edited by ZodiusInfuser
Link to comment
Share on other sites

Hi All,

I just want to let you know that I'm thinking of removing some of the duplicate parts within the next Model Rework update. The reason for this is because the main plugin (with the WIP additions going on here: http://forum.kerbalspaceprogram.com/threads/114014) is now at a point where its easy enough to create those duplicate parts by configuring them.

I'd like your thoughts on this though. Would you prefer I remove the duplicate parts (but release a separate pack so as not to break peoples saves), or keep them to save people having to reconfigure to the different versions?

Thanks in advance

I say less redundand parts = more ram available for other parts ;)

Link to comment
Share on other sites

Hi All,

I just want to let you know that I'm thinking of removing some of the duplicate parts within the next Model Rework update. The reason for this is because the main plugin (with the WIP additions going on here: http://forum.kerbalspaceprogram.com/threads/114014) is now at a point where its easy enough to create those duplicate parts by configuring them.

I'd like your thoughts on this though. Would you prefer I remove the duplicate parts (but release a separate pack so as not to break peoples saves), or keep them to save people having to reconfigure to the different versions? Here's a strawpoll: http://strawpoll.me/3968810

As an example, one part that would be removed is the open hinge, meaning that you'd have to set the closed hinge to an open angle to get the same result.

Thanks in advance

I think take advantage of the enhanced functions the newer plugin offers and reduce the number of parts. :)

Link to comment
Share on other sites

Hi All,

I just want to let you know that I'm thinking of removing some of the duplicate parts within the next Model Rework update. The reason for this is because the main plugin (with the WIP additions going on here: http://forum.kerbalspaceprogram.com/threads/114014) is now at a point where its easy enough to create those duplicate parts by configuring them.

I'd like your thoughts on this though. Would you prefer I remove the duplicate parts (but release a separate pack so as not to break peoples saves), or keep them to save people having to reconfigure to the different versions? Here's a strawpoll: http://strawpoll.me/3968810

As an example, one part that would be removed is the open hinge, meaning that you'd have to set the closed hinge to an open angle to get the same result.

Thanks in advance

Since 1.0 is coming and a lot of mods will have major savegame breaking updates I would say remove duplicates and make people use new system.

Link to comment
Share on other sites

I stopped moving parts in the VAB/SPH because of that bug where they went back to -1 instead of 0 and the only option was to replace the part, is that gone?

From my brief experimentation it appears so. A lot of the in-editor transform code was redone in the new plugin.

Link to comment
Share on other sites

Hi All,

I just want to let you know that I'm thinking of removing some of the duplicate parts within the next Model Rework update. The reason for this is because the main plugin (with the WIP additions going on here: http://forum.kerbalspaceprogram.com/threads/114014) is now at a point where its easy enough to create those duplicate parts by configuring them.

I'd like your thoughts on this though. Would you prefer I remove the duplicate parts (but release a separate pack so as not to break peoples saves), or keep them to save people having to reconfigure to the different versions? Here's a strawpoll: http://strawpoll.me/3968810

As an example, one part that would be removed is the open hinge, meaning that you'd have to set the closed hinge to an open angle to get the same result.

Thanks in advance

Imho you could just hide them until 1.0 and then remove them with the great savegame breaker.

That way, you would remove the clutter from the VAB, but they would still work if people have them on their vessels.

This mm snippet hides the RT-10 solid booster (in TechTree and VAB), when the SETI-BalanceMod is installed:

//---RT-10 Solid Fuel Booster
@PART[solidBooster]:FOR[SETI]
{
@TechRequired = unresearchable
@category = -1
}

Link to comment
Share on other sites

//---RT-10 Solid Fuel Booster
@PART[solidBooster]:FOR[SETI]
{
@TechRequired = unresearchable
@category = -1
}

Interesting. I'll give that a try, although I don't think it will remove them from the VAB in my case as the next pre-release of IR will introduce a new robotics tab for anything that's a robotics part, meaning they may still show up. Is a category of -1 different to none?

It was my intention anyway to offer them as a separate download, but if they can remain included in the main download that would be nicer.

Link to comment
Share on other sites

Interesting. I'll give that a try, although I don't think it will remove them from the VAB in my case as the next pre-release of IR will introduce a new robotics tab for anything that's a robotics part, meaning they may still show up. Is a category of -1 different to none?

It was my intention anyway to offer them as a separate download, but if they can remain included in the main download that would be nicer.

Each name, number somewhat else which isn't an existing string in the dedicated node is useable for hiding. For example you can write:

...

@TechRequired = -1 ... or = ZI_OLd_parts - as long it doesn't exist as an technode it will be hidden.

Same for category.

For Sandbox it's a little different, because tech is only used for techfilter. So if you want to hide your parts in sandbox mode you'll have to edit each node in your part which is related to a filter. E.g. you can filter for manufacturer. Your parts show up in sandbox for that special filter. So insert "@manufacturer = -1" in your code above and now the part is hidden.

Link to comment
Share on other sites

Thanks for the feedback everyone. The votes were unanimously in favour of removing the duplicate parts. As such I have been able to remove 5 duplicates from the mod, which results in this very nice parts menu :) (also note the custom tab)

_2e3f93959e344da1bc9132884c393428

I have also changed the folder structure to reflect the three planned packs I'll be condensing the rework to (Core, Expansion, Utility):

_823273649d4f4f7eb3f14ab047d53c18

Feel free to provide any feedback on this if you wish, but I'm quite happy with this separation as reduces the number of downloads and makes it easier for me to open up new pathways in the future (e.g station robotics).

Link to comment
Share on other sites

Thank you for making a separate tab, i wish others would follow this method. The Utility tab is a mess.

Custom tab is a feature of yet unreleased version of IR, but you'll get your hands on it soon.

Link to comment
Share on other sites

Custom tab is a feature of yet unreleased version of IR, but you'll get your hands on it soon.

maybe I missed it, so a question: will all custom parts with IR module move automatically to that custom utility tab or is it up to mod makers to change category in .cfg ?

Link to comment
Share on other sites

maybe I missed it, so a question: will all custom parts with IR module move automatically to that custom utility tab or is it up to mod makers to change category in .cfg ?

Custom tab will filter all parts with MuMechToggle module on them, so you won't need to change category in .cfg. In fact you may even set it to None in .cfg to declutter the Utility tab.

Link to comment
Share on other sites

Work on the next Model Rework pre-release is progressing well. Pretty much all of the config stuff is done, so now I'm revisiting a certain wheel part I've been meaning to get into the game: http://www.etftrucks.eu/Innovations/Axle-Configuration/

Here's my latest interpretation :D

_2569eca4fa6b4c78af080a74a14a61f4

_9fadb743a8b44afa9c04318e790ba076

Still got to "texture" it and get it in-game but I'm happy with how it's turned out so far. The first release of the part won't feature axis pivoting, as I'll just be using the stock wheel module, but I hope that in the future this ability can be added (hence me modelling it in now).

Link to comment
Share on other sites

Work on the next Model Rework pre-release is progressing well. Pretty much all of the config stuff is done, so now I'm revisiting a certain wheel part I've been meaning to get into the game: http://www.etftrucks.eu/Innovations/Axle-Configuration/

Here's my latest interpretation :D

https://www.cubbyusercontent.com/pl/IR_HaulerWheelIso.png/_2569eca4fa6b4c78af080a74a14a61f4

https://www.cubbyusercontent.com/pl/IR_HaulerWheelRange.png/_9fadb743a8b44afa9c04318e790ba076

Still got to "texture" it and get it in-game but I'm happy with how it's turned out so far. The first release of the part won't feature axis pivoting, as I'll just be using the stock wheel module, but I hope that in the future this ability can be added (hence me modelling it in now).

Will it function as a shock absorber too? looks pretty awesome - a big version for gigantic planes would be cool as well.

You mentioned before that a long, thin hinge (one you could drive over, attaches a ramp to another flat bit, for example) was on your to-do list, is that something you happen to be looking at for the next release?

Link to comment
Share on other sites

Will it function as a shock absorber too? looks pretty awesome - a big version for gigantic planes would be cool as well.

It will have a big suspension range, so I guess it would act as a shock absorber. This wheel will have a 125% tweakscale available for that sort of thing, but it should be stressed this is not intended as landing gear, its a controllable wheel with 360 degree rotation for use on modular transporters.

You mentioned before that a long, thin hinge (one you could drive over, attaches a ramp to another flat bit, for example) was on your to-do list, is that something you happen to be looking at for the next release?

I do remember that idea, and it will get seen to at some stage but not for the next release. The purpose of this release is to add the new parts and apply all the updates I've made since returning to KSP modding in January. Expect to see things like Tech Tree integration, Texture sharing, and of course tweaks for the new features in the IR Plugin Rework (which I've been helping out on).

Link to comment
Share on other sites

Can I use multiple retexture packs? Or will they overwrite each other?

This offers a completely new set of parts, rather than replacing the existing Infernal Robotics ones, so it won't override them :)

Quick question: Are the ZodiusInfuser model rework parts supposed to have more than 2-scale sizes when used with the IR plugin-rework? I ask because I only see 2 part sizes (1.0 and 0.25).

There are meant to be 3 scales. As you can notice from the title of the thread, its been a while since the main downloads have been updated so Tweakscale has advanced a bit since I first added support for it. My next release has an updated set of scales so you hopefully won't get this issue.

--------------------------------------------------

Speaking of the next release, here's a teaser of one of the new parts it will feature :D

Note that this is scaled up by ~125% because I had requests to introduce more scale sizes to my parts

Link to comment
Share on other sites

There are meant to be 3 scales. As you can notice from the title of the thread, its been a while since the main downloads have been updated so Tweakscale has advanced a bit since I first added support for it. My next release has an updated set of scales so you hopefully won't get this issue.

--------------------------------------------------

Speaking of the next release, here's a teaser of one of the new parts it will feature :D

Note that this is scaled up by ~125% because I had requests to introduce more scale sizes to my parts

Okay, so there's meant to be 3. Will that apply to telescoping pistons too? (I seem to recall them previously having more than 3). Well in any case, at least I know what's going on and can expect a fix eventually. Thanks!

BTW, those new wheels look amazing.

Link to comment
Share on other sites

I'm just gonna say that the hinges are VERY flimsy, even with KJR, heck, KJR is probably the only thing keeping them from snapping.

What I'm trying to do is make a folding mechanism that works like this in the screenshot below. It works as it should in editor, but when physics get applied, the thing is really flimsy.

Edit: Also, how do I access the parts shown in here http://forum.kerbalspaceprogram.com/threads/65365-WIP-MSI-s-Infernal-Robotics-Model-Rework-%28Updated-27-08-2014%29?p=1808811&viewfull=1#post1808811 ?

screenshot31_zps1n6ssycj.png

Edited by smjjames
Link to comment
Share on other sites

I'm just gonna say that the hinges are VERY flimsy, even with KJR, heck, KJR is probably the only thing keeping them from snapping.

What I'm trying to do is make a folding mechanism that works like this in the screenshot below. It works as it should in editor, but when physics get applied, the thing is really flimsy.

The problem is that you're expecting a tiny hinge to support the weight of the entire craft spread over the four tracks. There's really nothing I can do about this from a part configuration point of view. Also, you're not going to see any improvement on the hinge when using KJR, as it intentionally ignores Infernal Robotics parts to avoid rendering them inoperable.

The one solution I can suggest to you is to use ActiveStruts. This mod allows you to create extra joints between parts in flight to prevent these issues.

This is a preview of the parts to come in the next release. There were beta downloads in the thread a while ago, but improvements have been made since then. There'll also be a custom ActiveStruts part included, as well as Decoupler Struts, since my goal is to offer a kind of ecosystem of parts that all enhance robotics within the game.

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...