Since 4.1.1.2 came out I have done a small amount of testing and noticed a couple of things that if fixed or enhanced could really make this feature mature. They are:
1.
"added expanding tabs to spaces when drawing text buffers to the screen"
I'm guessing this refers to how tabs in the text are handled when writing to the level. Apologies if I'm wrong. Currently I don't think this is working, meaning that e.g.
a b
a b
[first line has one tab between a and b,
second line has two tabs between a and b]
is mapped to:








or
char_a,char_question,char_b,sand
char_a,char_question,char_question,char_b
Now I have some ideas for handling of tabs. I think that as with text editors and spreadsheets etc, a tab should be treated as a command to move the insertion point or cursor. But how far?
I would like to expand the Edit tab in the Conf / Global Settings screen,
to include a section for the Paste Text As Elements feature.
#1
'Tab character moves insertion point rightwards by n cells'
- This could default to say 4, or 2, giving a clear 'tab effect'.
But it could also be set to 0, in which case tabs would effectively be purged from the input to the sheet, and if there was a run of tabs, nothing would be written, and writing of characters would only resume when a non-tab is encountered - i.e. a printable character or a new line.
This leaves ambiguous the question of what is done to the skipped cells - i.e. are they left as is, or overwritten with space char elements;
if you favoured the latter, you might want to name the option like this:
'Tab character is handled as n space characters'
I would only favour this option if there is also an option for customizing the handling of space characters:
#2.
'Leave existing cell as-is, and move right, when encounter Space char'
- This could be a checkbox, and could default to being off, so only people who really want to preserve existing content of a level (to a limited extent) would tick this.
- When unticked: space characters are written as space char elements.
- When ticked: space characters are not written as anything, instead the insertion point moves rightwards once per space character, preserving any element that is in the moved-past position.
I really like this idea, as I think it could lead to serendipitous semi-random design outcomes.
So thinking about it, I would vote for #1 (last form) and #2 together, rather than #1 (first form) on its own.
The above two could stand on their own, but dreaming a bit, I would love to also have a third option in the config section for the Paste Text As Elements feature:
#3
'Leave existing cell as-is, and move the insertion point, when encounter any element that is neither Empty Space nor diggable'
OR the same thing written another way:
'Only overwrite Empty Space and diggable elements with characters, otherwise move the insertion point'
- The list of elements would include Space, Sand, Invisible Sand, Grass, Base, etc. Or if that list is a PITA to decide on, just Space and Sand.
In which case:
'Only overwrite Empty Space and Sand with characters, otherwise move the insertion point'
- The insertion point would usually move right, but if at the end of a row, would wrap to the first column in the next row.
- Note this differs from the other options by being affected by what is in the level, rather than what is on the Clipboard.
- This would allow a kind of semi-intelligent 'merge write', which would be a great addition to the features.
Apologies for yet more requests! This seems like a good place to append Mr. Green, but I don't know what he means
John