Jump to content

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


ZodiusInfuser

Recommended Posts

5 hours ago, warlord13f said:

I understand there are comments throughout this forum on how to install. The installation process is confusing. I went to this website (https://github.com/MagicSmokeIndustries/InfernalRobotics) and downloaded the mod. I also downloaded this (Rework_Repack_1.1.2 fix .zip) now I am stumped on what I do from there. Can someone kind enough go through a step by step installation of this mod, please?

What piece of info you found confusing from this post ?

There is descriebed in steps what to do. With provided links for each step. I can't think of anything else to add on this post to be more clear how to do it.

Link to comment
Share on other sites

This problem has probably been asked about a bunch of times but I can't scroll through 97 pages and can't find the answer elsewhere. I tried installing this mod via ckan and it seems to have worked (the robotics parts tab is there) but I have no parts listed. Also in ckan the model rework mods are listed as (virtual) and can't seem to be added. I'm not sure if I did something wrong but I would really appreciate help. This is the first mod I'm trying to install. Thanks.

Link to comment
Share on other sites

16 hours ago, Archangel_321 said:

This problem has probably been asked about a bunch of times but I can't scroll through 97 pages and can't find the answer elsewhere. I tried installing this mod via ckan and it seems to have worked (the robotics parts tab is there) but I have no parts listed. Also in ckan the model rework mods are listed as (virtual) and can't seem to be added. I'm not sure if I did something wrong but I would really appreciate help. This is the first mod I'm trying to install. Thanks.

You not have to read 97 pages but the last two posts. kcs123 postet a link where you can find a step-by-step description (post from Dr_Goddard, October 31, 2017).

Link to comment
Share on other sites

So ... it's been a while .... how are things?


First, I would like to say a big thank you to everyone who has been holding down the fort and helping others with getting everything working with KSP 1.3.1. It is greatly appreciated!!

Second, seeing as "How do I get this working in the latest version?" is a recurring question I thought I would set this weekend aside to follow @Dr_Goddard's excellent guide (along with bits from @Jiraiyah's version) and create an "official" package of IR as it stands at the moment.

You can find the download here: https://drive.google.com/file/d/1PueiJDMYu-xZ3CQBVXP9Utc27gnXwiIq

(It is recommended to install KAS for the magnet and grasper to work, and TweakScale to tweak scale)

Please do not consider this to be an actual release, although it does include a few unreleased Rework parts :wink:. Releases will hopefully come in time as I figure out what has been broken by 2 years of KSP updates (will likely need help with that). Oh and before anyone asks, no the wheels are not in this download as I tested them and they're still broken.

Let me know if there are any issues :). Unfortunately work takes up a lot of my time and mental energy so I can't make any promises about returning to IR as before, but I would like to.

Cheers,
-Zodius

Link to comment
Share on other sites

26 minutes ago, ZodiusInfuser said:

Oh and before anyone asks, no the wheels are not in this download as I tested them and they're still broken.

Fortunately, there is some alternatives in Kerbal Foundries mod. Might be easier to use that plugin instead of KSP API to make IR wheels to work again. I can only tell you to take your time on this, there is little point in moding if you do not get at least some joy for yourself when doing it.

Link to comment
Share on other sites

Thanks, I came across the new KerbalFoundries today and saw that it uses KSPWheel under the hood. That definitely seems like the better way to go for fixing all 6 of the wheels, particularly considering they got tracks working again by the looks of it. The bit I enjoy about modding for IR is creating the parts, so I will probably visit some unfinished stuff before tackling wheels. IIRC I had a whole rail set I never finalised. Is there anything else I may have forgotten about?

Link to comment
Share on other sites

12 hours ago, ZodiusInfuser said:

So ... it's been a while .... how are things?


First, I would like to say a big thank you to everyone who has been holding down the fort and helping others with getting everything working with KSP 1.3.1. It is greatly appreciated!!

Second, seeing as "How do I get this working in the latest version?" is a recurring question I thought I would set this weekend aside to follow @Dr_Goddard's excellent guide (along with bits from @Jiraiyah's version) and create an "official" package of IR as it stands at the moment.

You can find the download here: https://drive.google.com/file/d/1PueiJDMYu-xZ3CQBVXP9Utc27gnXwiIq

(It is recommended to install KAS for the magnet and grasper to work, and TweakScale to tweak scale)

Please do not consider this to be an actual release, although it does include a few unreleased Rework parts :wink:. Releases will hopefully come in time as I figure out what has been broken by 2 years of KSP updates (will likely need help with that). Oh and before anyone asks, no the wheels are not in this download as I tested them and they're still broken.

Let me know if there are any issues :). Unfortunately work takes up a lot of my time and mental energy so I can't make any promises about returning to IR as before, but I would like to.

Cheers,
-Zodius

take a look at kspwheels mod, i think it may help

never mind, you already found about it :D nice

Edited by Jiraiyah
Link to comment
Share on other sites

16 hours ago, ZodiusInfuser said:

The bit I enjoy about modding for IR is creating the parts, so I will probably visit some unfinished stuff before tackling wheels. IIRC I had a whole rail set I never finalised. Is there anything else I may have forgotten about?

What is missing in KSP world is custom shock absorbers. I asked about this before, but probably I didn't expained properly and due to real life commitments I have forced to put playing KSP on hiatus to long time. Therefore, I was not able to create example to explain better what I mean.

Basically, what other people already asked for stock game:

I'm aware of KSP limitations, but I belive that IR plugin solved it long ago, otherwise we could not have free moving parts (or powered movement) at all.

Issues that were described in last post of same linked thread were already encountered and solved in few recent versions of IR:

This values in config files are intriguing for this:

// --- Robotics Parameters ---
MODULE
{
	name = MuMechToggle
	translateJoint = True
	translateAxis = 0, -1, 0
	keyTranslateSpeed = 0.2666667
	translateLimits = True
	translateMin = 0
	translateMax = 2.4
	presetPositionsSerialized = 0.0
	invertSymmetry = False 
	jointSpring = 0
	jointDamping = 0
	fixedMesh = Base
	servoName = Extendatron - Basic
	motorSndPath = MagicSmokeIndustries/Sounds/infernalRoboticMotor		// Motor loop sound path
}

 

More specific, "jointSpring" and "jointDamping" variables. Someone already mentioned this, that he tried to customize those values to create shock absorber, but I have not being able to try it for myself and I don't recall further reports on this, is it possible or not.

We already have shocking absorbers in game built in in landing legs and wheels. So, module for this exist in game, we just need part that have two joints to attach something on it (like two ends on extendratron, for example) and proper valuses for spring and damper. Therefore, I belive it is possible to accomplish it somehow. It is already possible if you put some struts on outher part of landing leg to some degree. Issue with stock landing legs/wheels is automatic autostruts, because of this, it have limited usage along with other IR parts. But, some new part have to be created as some other object class, to avoid stock game force autostrut "feature" on such part.

I don't know if there is other limitation of game engine that would prevent creating this. I hope that it would be possible somehow with combined plugin features of KSP wheels and IR plugin. Part for this should be more/less simple to create, just for testing purposes, modules, API calls and such in config files are different story, though. But we need some part in the first place, to be able to test it and create proper config files and some new API in plugins. Others might be able to do coding stuff, but they were not skilled enough for creating meshes and animations. And those who are talented with part creation are limited in knowledge of coding stuff.

Well, that is some idea, at least, what is plausible to accomplish within game engine limits is different story, though. I'm sure that other players would find multiple application of such shock absorbers, either to calm down kraken or to abuse it and invite kraken into game.

Link to comment
Share on other sites

The idea of shock absorbers that you can attach to makes a lot of sense, but as you point out the challenge is the plugins. Have you ever wondered why the free moving parts are designed the way they are? It is because when you change the value from that needed to have the joint be powered the joint stops abiding by its limits. You can try this yourself by taking an extendatron and modifying those values the more mushy it is, the more likely it will end up coming out of or going through itself along the direction of travel. I recall that @Ziw actually tried to tackle this problem for IR but unfortunately was never able to get a usable solution. Using a wheel to get the effect would be difficult because they rely on raycasts with objects, so even if you could attach something to it, making the internal spring register forces from that part would be difficult. I could quite easily make a shock absorber model though :P 

I was actually thinking about ideas last night and came up with these three categories of parts to work on:

  • Station Parts
  • Rail & Gantry Parts
  • Misc Utility Parts

What goes in to those categories is open to discussion. I'm sure I have some model files for them already but it's been so long that I can't remember :P. I swear @V8jester posted a list the last time I popped by

Link to comment
Share on other sites

Hmm, to avoid issues with translation of parts, would be easier to create rotational absorber instead ? It would not be possible to drift apart from it's joints, since there is no translation movement, only angular movement exist. Can't think of better picture, but some kind of part that have spiral spring inside or similar:

flat-spiral-spring-500x500.jpg

Would be enough to copy existing uncontroled bearing or rotatron part and change mentioned values of "jointSpring" and "jointDamping" variables ? Or something else is necessary within config file to make it work ? Such absorber can be combined with some structural parts to mimic lateral shock absorber. Should suffice if there is no better option.

New rail and gantry parts would be good too. Have yet to install old IR part pack to see what kind of part was there and have no replacement in WIP reworked part pack.
It is just a matter of time when it will happen to no longer be possible to install those legacy parts in some of future KSP updates.

Link to comment
Share on other sites

Actually it would be easier to create a rotational shock absorber! And indeed copying the existing uncontrolled rotatrons / bearings and changing those two values would work. You may also need to set freeMoving to false though if you want to have some IR control over the joint, otherwise it will always try and return to a default angle. Have a play around if you get chance.

Saying this reminds me of a motor type I saw a few years ago at a conference that I'd completely forgot about: Variable Stiffness Actuators / Series Elastic Actuator. They are essentially two motors that connect to an output via springs, allowing them to adjust their tension on the fly.

1-s2.0-S0094114X98000263-gr1.gif

So if there is demand for a solution within the realms of what is already possible with IR (the variableness would need to be modded in), I could certainly make a custom rotational part for it.

Edited by ZodiusInfuser
Added video
Link to comment
Share on other sites

Actualy, it works. I just tried in game, before checking forum. I used folloowing settings for rotational absorber:

Spoiler

PART
{
// --- General Parameters ---
name = IR_Rotatron_Uncontrolled
module = Part
author = Zodius (model) | Sirkut (plugin)

// --- Asset Parameters ---
//mesh = model.mu
MODEL
{
    model = MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Rotatron_Uncontrolled/model
    texture = IR_Robotic, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic
    texture = IR_Robotic_e, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic_e
}

scale = 1
rescaleFactor = 1

// --- Node Definitions ---
node_stack_top = 0.0, 0.1, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -0.1, 0.0, 0.0, -1.0, 0.0, 1
node_attach = 0.0, -0.1, 0.0, 0.0, -1.0, 0.0

// --- Editor Parameters ---
TechRequired = specializedConstruction
entryCost = 7800
cost = 250
category = none
subcategory = 0
title = Absorber Rotatron - Uncontrolled
manufacturer = Magic Smoke Industries
description =  This part is able to rotate but always return to centre.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- Standard Part Parameters ---
mass = 0.1
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 15
maxTemp = 2000
breakingForce = 999
breakingTorque = 999
bulkheadProfiles = size0, srf

// --- TweakScale Parameters ---
MODULE
{
    name = TweakScale
    type = Rework_Standard
}

// --- Robotics Parameters ---
MODULE
{
    name = MuMechToggle
    rotateJoint = True
    rotateAxis = 0, 1, 0
    rotateLimits = True
    rotateMin = -160.0
    rotateMax = 160.0
    freeMoving = True
    jointSpring = 0.5000001
    jointDamping = 0.2
    fixedMesh = Base
    servoName = <Uncontrolled>
}
}

Result:

ZfCMjyi.jpg

It's jus ta metter to adjust proper forces for spring and dumper. It will bve nice if spring forces can be adjusted in SPH/VAB. As well as limit in rotation angle. I belive that iti is possible somehow with additional MM modules, but have yet to research how to do it in with MM. I'm just able to do small stuff with MM, haven't learnd much of it's capabilities.

Some new model would be nice, at least with color change if not full mesh. Also, I found some old screenshots of suspension study for Rover, to show issues encountered.

I tried to make extendratron to be uncontroled, but it still use powered movement. I used following configs, but have no idea what else need to be changed:

Spoiler

PART
{
// --- General Parameters ---
name = IR_Extendatron_Basic
module = Part
author = Zodius (model) | Sirkut (plugin)

// --- Asset Parameters ---
//mesh = model.mu
MODEL
{
    model = MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Extendatron_Basic/model
    texture = IR_Robotic, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic
    texture = IR_Robotic_e, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic_e
}

scale = 1
rescaleFactor = 1

// --- Node Definitions ---
node_stack_top = 0.0, 1.25, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -1.25, 0.0, 0.0, -1.0, 0.0, 1
node_attach = 0.0, -1.25, 0.0, 0.0, -1.0, 0.0

// --- Editor Parameters ---
TechRequired = actuators
entryCost = 7800
cost = 250
category = none
subcategory = 0
title = Extendatron - ShockAbsorber
manufacturer = Magic Smoke Industries
description = This suppose to work as shocking absorber. It may work. Or may not.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,1

// --- Standard Part Parameters ---
mass = 0.2
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 15
maxTemp = 2000
breakingForce = 999
breakingTorque = 999
bulkheadProfiles = size0, srf

// --- TweakScale Parameters ---
MODULE
{
    name = TweakScale
    type = Rework_Standard
}

// --- Robotics Parameters ---
MODULE
{
    name = MuMechToggle
    translateJoint = True
    translateAxis = 0, -1, 0
    keyTranslateSpeed = 0.2666667
    translateLimits = True
    translateMin = 0
    translateMax = 2.4
    freeMoving = True
    presetPositionsSerialized = 0.0
    invertSymmetry = False
    jointSpring = 0.5000001
    jointDamping = 0.2
    fixedMesh = Base
    servoName = <Uncontrolled>
}
}

 

 

Link to comment
Share on other sites

Nice that it worked! As I am not a coder for KSP there is no way for me to add adjustable spring values in to the game, but I agree that it would be useful. Seeing that the IR plugin isn't actively being developed that is unlikely to happen any time soon though. Limiting rotation angle (in respect of preventing it going over a set limit) is not possible. The current limits you set are only for the powered input and have no way to limit how far the spring stretches.

Hmm, not sure why the extendatron isn't behaving. Maybe create a fully free moving one first? Have you tired applying a load to it? Or maybe your spring values need to be different for translation versus rotation. The free moving flag won't affect anything as that just tells IR to hide the part from the window so it can't be controlled.

Link to comment
Share on other sites

4 hours ago, kcs123 said:

It's jus ta metter to adjust proper forces for spring and dumper. It will bve nice if spring forces can be adjusted in SPH/VAB. As well as limit in rotation angle. I belive that iti is possible

stop talking with your mouth full :wink:

Link to comment
Share on other sites

11 hours ago, Drew Kerman said:

stop talking with your mouth full :wink:

Hahaha, good point. You will be glad that I didn't send any audio file, that would be hilarious :D. With my broken english I would probably sound like a retard.

English is not my native language and I was in the rush to report feedback ASAP. In late hours brain does not process properly what eyes see. All that combined give hilarious result.
Whenever I spot something wrong in my post, or when I'm in doubt, I use google translate/spellcheck to correct it. But, due to shortage of time, you are got what you see above. Belive me, you got much better writting than you would ever got understandable audio file :).

 

Link to comment
Share on other sites

15 hours ago, ZodiusInfuser said:

Nice that it worked! As I am not a coder for KSP there is no way for me to add adjustable spring values in to the game, but I agree that it would be useful. Seeing that the IR plugin isn't actively being developed that is unlikely to happen any time soon though. Limiting rotation angle (in respect of preventing it going over a set limit) is not possible. The current limits you set are only for the powered input and have no way to limit how far the spring stretches.

Hmm, not sure why the extendatron isn't behaving. Maybe create a fully free moving one first? Have you tired applying a load to it? Or maybe your spring values need to be different for translation versus rotation. The free moving flag won't affect anything as that just tells IR to hide the part from the window so it can't be controlled.

I figured out that I left "keyTranslateSpeed = 0.2666667" in extendratron config file, I thought that it would help to make free moving extendratron, but it make faulty config file, so part is no longer showing in SPH at all. I found some other old mod that have some kind of shock absorver, but links for download are no longer available and I don't know what is latest supported version of KSP for it:

 

I belive that B9PartSwitch mod is able to expose necessary sliders/values for any part trough right click menu. Should be doable with IR plugin as it is in current state.

Have to poke @blowfish to ask exactly how to do it trough MM patches, or is it something else necessary trough mesh creation/compiling. That mod could come handy to switch between various mesh types for same family of IR meshes. That would make such new absorber parts usable in game without changing IR core plugin.

Speaking of IR core, I'm aware that @Ziw is quite busy too, so changes for IR probably will not happen any time soon. I would like to propose some changes to put it on "to do" list, though, to create some improvement if possible when right times come.

Quote

Limiting rotation angle (in respect of preventing it going over a set limit) is not possible. The current limits you set are only for the powered input and have no way to limit how far the spring stretches.

To get around of that issue, would be possible to change how "jointSpring" and "jointDamping" behave in game ? As much as I was able to understand trough observation in game and in config file, those numbers are linear coefficient that are passe dto KSP game engine. Would be possible to make it non linear trough IR plugin ? For example, when offset from setpoint is within range of movement, spring and damping forces are linear, like it is now, but when limit is exceeded, it start to be exponentially stronger, trough function

force * exp(range)

or if that would not be enough then 10rangefunction could be used, or something like that. It would not ultimatelly prevent parts to move, but if force is strong enough, it could behave like parts are collided, while they actually were not collided. Some kind of hacky way to get around of game engine limits.

Some other ideas were also poping up as I write this post. If I have understand properly how extendratron is created, it have two joints. One joint attached to craft that is fixed and to one part of mesh, while other can be translated and have second part of mesh. On that translated part you can attach some other parts of craft. So, I come up with idea, if it is possible to create extendratron with three joints instead of just two ?

First joint would be fixed with fixed part of mesh, it is connected to second fixed joint. After that joint comes joint and mesh that can be translated. What IR plugin should do is, when it is time to translate joint (trough user input), it disable middle fixed joint (it's forces) and after that translate movable joint. Once translation is done, it re-enable middle joint again. That middle joint should always be on fixed position relative to first, unmovable joint.

Now fun part may be possible. To make only that middle joint with spring flexible forces. Joint at outher end of extendratron should have stiff joint as much as possible.
From game engine side of view, it would act as two fixed parts attached together, while you as user can see only one.

Can something like that work ? You will be always able to know where outher joints need to be, they should not be able to drift anywhere where they should not be able to do, while they would still have some kind of "magnetic" spring connection between.

Thinking of it more, would be possible to create such mesh with 3 joints ? It should be short and wide enough, though, to be able to hide any possible misalignment of two moving parts.

Link to comment
Share on other sites

Some time ago I come across with youtube video channel with bunch of various mechanisms:

Im may be good source of inspiration to create crazy crafts in KSP or perhaps for some new part that will be cool to create.

 

Link to comment
Share on other sites

@ZodiusInfuser, while we are still on topic of new parts, I just figured out that few more structural adapters might come handy. It comes from necessity to avoid autostrut bug.

jct26HG.jpg

 

While Trus Pro to Tube Pro adapter is great for longitudal attachment, usage is somehow difficult in lateral attachment like on picture above. I was thinking of similar adapter, but instead of tube to have small octagonal truss "axle" on outher end. It would be much easier to attach some other part in lateral position on desired angle than it is now. I can try to use stock part for susch purpose, but those were not nearly close to aestetic quality of your parts.

 

Link to comment
Share on other sites

35 minutes ago, whale_2 said:

Speaking of limiting angle of rotation, I expect to have a solution soon, though not directly through IR. I just need a little cooperation from modellers gang

That would be amazing. Something like mentioned Robo trus to pro adapters like on above picture might better fit whole concept of IR reworked parts. Those parts does not need to be big, 0.625m size or alike parts should be enough. That would allow you to hide it / clip on regular parts and still accomplish colide results.

Whale_2, do you have an idea how to expose those joint spring and damper values to right click menu ? I was searching trough KSP API documentation and available config files in my set of installed mods, but I could not found good simple example for this. Have no idea if it have to be done trough plugin side or some MM patch is enough.

Link to comment
Share on other sites

2 minutes ago, kcs123 said:

Whale_2, do you have an idea how to expose those joint spring and damper values to right click menu ? I was searching trough KSP API documentation and available config files in my set of installed mods, but I could not found good simple example for this. Have no idea if it have to be done trough plugin side or some MM patch is enough.

Exposing those would require a patch for IR. 

Link to comment
Share on other sites

2 hours ago, whale_2 said:

Exposing those would require a patch for IR. 

MM config patch only or recompile of IR plugin ? I think it is possible, but have no idea what kind of module to alter trough MM patch.

I have copied existing part to create new one and altered config file to have wanted spring and damper joint value, but failed to expose it to right click menu. MM config for such part is in spoiler section:

Spoiler

PART
{
// --- General Parameters ---
name = IR_Rotatron_Uncontrolled
module = Part
author = Zodius (model) | Sirkut (plugin)

// --- Asset Parameters ---
//mesh = model.mu
MODEL
{
    model = MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Rotatron_Uncontrolled/model
    texture = IR_Robotic, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic
    texture = IR_Robotic_e, MagicSmokeIndustries/Parts/Rework_Core/Probe/Robotic/IR_Robotic_e
}

scale = 1
rescaleFactor = 1

// --- Node Definitions ---
node_stack_top = 0.0, 0.1, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -0.1, 0.0, 0.0, -1.0, 0.0, 1
node_attach = 0.0, -0.1, 0.0, 0.0, -1.0, 0.0

// --- Editor Parameters ---
TechRequired = specializedConstruction
entryCost = 7800
cost = 250
category = none
subcategory = 0
title = Absorber Rotatron - Uncontrolled
manufacturer = Magic Smoke Industries
description =  This part is able to rotate but always return to centre.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- Standard Part Parameters ---
mass = 0.1
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 15
maxTemp = 2000
breakingForce = 999
breakingTorque = 999
bulkheadProfiles = size0, srf

// --- TweakScale Parameters ---
MODULE
{
    name = TweakScale
    type = Rework_Standard
}

// --- Robotics Parameters ---
MODULE
{
    name = MuMechToggle
    rotateJoint = True
    rotateAxis = 0, 1, 0
    rotateLimits = True
    rotateMin = -160.0
    rotateMax = 160.0
    freeMoving = True
    jointSpring = 0.5000001
    jointDamping = 0.2
    fixedMesh = Base
    servoName = <Uncontrolled>
}
}

Can you tell what to add in config file for such part ? Or I have misunderstand you and it require IR plugin recompile ?

Link to comment
Share on other sites

@kcs123, sorry, I was not clear enough - it requires patch to the C# code and recompile to my best knowledge, or "mod for the mod" - another C# code that would manipulate data within IR internals - not the best solution, actually. I'm not aware of any way to make it via MM-patch.

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