A pixel of a steel tile remains steel if it remains in the smallest possible rectangle (with vertical and horizontal borders) that still encompasses all uncovered pixels of the same steel tile.
I may only want the visible steel to be treated as such, like if I've bisected it with, say, a diagonal piece of terrain in the crystal tileset
I would personally say it should be a per-level setting (e.g. the old "simple autosteel" option).
I would personally like, for steel , to still properly be able , to be combined with eraser pieces ... using the group function.
Neolemmix takes my PC about 15 seconds to load and Super Lemmix loads in about 3
Yes, don't worry - piece grouping will always be available.
I can help verify... at least with my equipment that SLX loads considerably faster than Neolemmix.
Also, will this also apply , to normal steel - eraser combinations ?
A simpler alternative might be to allow styles to mark some pieces as being primarily decorative, such as moss pieces in orig_dirt
you could have a class of terrain that's entirely decorative and can or doesn't necessarily have to be used over steel. So that it essentially has no physical effect in game; is purely decorative. Outside of steel Lemmings would pass right through it.
I might just be tempted to enforce that steel is always on top at the sacrifice of being able to make "misshapen steel".
Here are two counterexamples where the boundary-following idea fails to detect a large chunk of visible steel block pixels as steel
...
It sounds dangerous to define this arbitrary extension of the visible boundary by 5 pixels. What if the piece sticks in the earthen ground by only 1 pixel not by 5? Your area would overshoot the real steel piece by 4 rows
Are all steel tiles convex? If you apply either of these new ideas to concave steel tlies (your boundary-following idea, or my smallest-rectangle idea, or my convex-hull idea), you'll produce more convex shapes
I'm not sure I understand what you mean by "convex", in this context...?
I'm not sure I understand what you mean by "convex", in this context...?
How possible would it be to just detect whether the entire block is covered, and if so then remove it as steel? Then, if even 1px is visible, the entire block becomes steel again.
(Reminder: A set is convex iff for all points x, y of the set, the straight line segment that connects x with y is also fully part of the set. When you travel straight from x to y, you won't leave the set.)
If we define the pixels as squares with nonzero area each, then each pixel already contains infinitely many points of 2-D space, and even the triangle's staircase surface fails to be convex. In this world, the only convex shapes are filled rectangles and the empty set.
I'll give an example and put it in layman's term
---
This is an example of a convex polygon. Basically, if you take any side of the square and extend it indefinitely in either direction, it will never cross the interior of the polygon
---
this star polygon is non-convex, or concave. For if you take any side and extend it in either direction, it will cross the interior of the polygon
Or render the level's physics map twice, once with and once without the steel tile, and see if the two physics maps agree. Again, you can ditch all earlier-drawn tiles for speed in both renderings
Begs another question: Is the game really the right place for this? I'd warn the user directly in the editor that his steel tile is fully covered and will be deleted. Early feedback, no surprises.
Is all this worth so much brainpower?
What problem led to this? Who got confused? What got backrouted?
I have one other suggestion, although it will require a modification to the editor... terrain pieces have a "Steel Cancel" flag, which erases the steel zone where it overwrites the steel plate.
Yes, as an optional behaviour.
If you want steel blocks to always be fully steel, perhaps they should always be drawn in front of all non-steel terrain?