Space Engineers

Space Engineers

Rust Mechanics
Suggestion: Quality of life fix for maintenance / repairing rusting blocks
At the moment, fixing rust damage is quite difficult and tiresome. You need to MANUALLY paint every single block that rusts. This is difficult, especially for large grids due to some blocks being difficult to reach.

This could easily be fixed if you were able to weld the block back to 100% HP and texture. Allow me to explain:

This mod already determines if a block is a "RUSTABLE" block. At some point, the mod determines a otherwise health block should enter its first stages of rust. At this point the mod should ALSO store the original texture of the block and apply a small percentage of damage. Lets say 10% for argument sake.

At the initial stage of rust 10% damage is apply to the block and the first "layer" of rust is applied while storing the original texture of the block. This pattern is repeated for every stage of rust that follows.

This would allow someone to WELD the damage back to 100% HP, and once reached back at 100% the mod apply's the original texture back.

Any thoughts on this? Would appreciate any feedback for the author.
< >
Showing 1-6 of 6 comments
Bačiulis  [developer] 3 Mar, 2022 @ 2:52am 
Hey, thanks for suggestion and detailed description!

First regarding painting difficulty: using shift you can paint large portions of the grin and ctrl+shift paints all the grid.

I agree with the part that painting block back after wielding it would make sense as I am fixing the rust damage, and rusted paint is part of it. It would be hard to implement though as script would need to store information about original texture somewhere and this means introducing new data structure where all the blocks of all grids should be stored. It is doable but not sure how it will affect the performance. So unless there is really a strong need for such functionality I would rather not do it, not until more feedback is collected at least.
Samarty Pants 7 Mar, 2022 @ 7:35pm 
Thanks for your reply,

I agree with your assessment initially, however CTRL+SHIFT painting options solve the problem if the grid is all the same texture, But for example some grids may have multiple paint + textures on them that make this option difficult.

As to your second part, 100% agree with your assessment on performance/difficulty. I was thinking it would be nice to allow welding so that mods such as nanites/build and repair can repair your entire grid and make it easy to fix the damage if you are far enough into your progression to afford such a luxary.

Keep up the good work.
jang1er 9 Mar, 2022 @ 2:05pm 
Originally posted by Bačiulis:
Hey, thanks for suggestion and detailed description!

First regarding painting difficulty: using shift you can paint large portions of the grin and ctrl+shift paints all the grid.

I agree with the part that painting block back after wielding it would make sense as I am fixing the rust damage, and rusted paint is part of it. It would be hard to implement though as script would need to store information about original texture somewhere and this means introducing new data structure where all the blocks of all grids should be stored. It is doable but not sure how it will affect the performance. So unless there is really a strong need for such functionality I would rather not do it, not until more feedback is collected at least.

Maybe this storing of texture values could just be not enabled by default and every one who wants to use this new experimental feature has to be aware of the immenent performance drops. This approach could be useful as this feature is now available and meanwhile we can give feedback aswell as new ways to approach this and optimise it.

My own suggestion for this problem:

I really don't know if this is possible in SE as i have never worked with modding in depth. But my idea is to create a custom texture which can be layerd on top of the blocks original texture so it can later just be removed and the block skin doesnt need to be stored.
V7I 25 Mar, 2022 @ 7:36am 
Originally posted by Samarty Pants:
Thanks for your reply,

I agree with your assessment initially, however CTRL+SHIFT painting options solve the problem if the grid is all the same texture, But for example some grids may have multiple paint + textures on them that make this option difficult.

As to your second part, 100% agree with your assessment on performance/difficulty. I was thinking it would be nice to allow welding so that mods such as nanites/build and repair can repair your entire grid and make it easy to fix the damage if you are far enough into your progression to afford such a luxary.

Keep up the good work.


when in the pain screen, there is this small check box at the time that disables colors when painting and when doing that you will only change the texture
mz 10 Nov, 2022 @ 6:23pm 
I am currently trying to expand on this mod (hope that's alright, I will just keep it private if that's a problem, is my 1. time writing a mod)

and I think I found a stupid solution to the "Storing" of the original Texture. I store it in the Paint, but it's really weird.

List<IMySlimBlock> ---> blocks[0].ColorMaskHSV returns the HSV values is a strange way.

H: 0 - 360 turns into 0 - 1 (so far so good)
S: 0 - 100 turns into -0.8 - 0.2
V: 0 - 100 turns into -0.45 - 0.55

Well, whatever BUT players can't actually paint something with decimals (for example H = 134.2 -> 134.0) But we can paint it with decimals through Code.

Meaning I can store data there xD
I bit of Math to get rid of the integer part and I get this result from some block.

Base Color for Example
H=98.0, S=0.0, V=100.0

I leave Value H because to get from 0-360 -> 0-1 I have to do H/360 which gives annoying values.

So I use S and V.
Block of Concrete turns into H=98.0, S=0.5, V=100.0
Block of Gold turns into H=98.0, S=0.3, V=100.3 (Yes we can input values higher than 100)

so S=?.0, V=?.0 means it has its original Texture.
S=?.1, V=?.1 means its original Texture WAS "No Skin"
S=?.5, V=?.5 means its original Texture WAS "Woodland Camo Armor"


But I sadly have no clue how I could notice if a Player is welding the Armor back Up and then replace the Texture again...
Koruzarius 22 Nov, 2023 @ 8:41am 
Originally posted by Bačiulis:
Hey, thanks for suggestion and detailed description!

First regarding painting difficulty: using shift you can paint large portions of the grin and ctrl+shift paints all the grid.

I agree with the part that painting block back after wielding it would make sense as I am fixing the rust damage, and rusted paint is part of it. It would be hard to implement though as script would need to store information about original texture somewhere and this means introducing new data structure where all the blocks of all grids should be stored. It is doable but not sure how it will affect the performance. So unless there is really a strong need for such functionality I would rather not do it, not until more feedback is collected at least.

This would be far outside the scope of this actual mod, but I wonder if a mod could make it so that a projected block with a different color/texture could be "repaired" back to what the projection says it should be. If that were possible then welders and nano-repair mods would be able to "fix" rust, if you have a projector going.
< >
Showing 1-6 of 6 comments
Per page: 1530 50