Implemented: Add button to flip vertically to editor?

Started by Forestidia86, November 07, 2022, 05:25:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Add button to flip tiles vertically to editor?

Yes
5 (71.4%)
No
0 (0%)
Don't mind.
2 (28.6%)

Total Members Voted: 7

Forestidia86

At the moment there is only a button to flip tiles horizontally in the editor. There is a feature wish issue 115 to add a button to flip tiles vertically to the editor as well.
You can at the moment have the result of flipping vertically by turning two times and flipping horizontally.
The question is if nevertheless a button to directly flip tiles vertically would be helpful.

namida

I think it would make sense to have. Internally, it could just rotate 180 + flip horizontal, so that it remains backwards compatible and doesn't introduce extra settings or logic.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Forestidia86

Ironically within the level text files there is the tile modifier 'f', which means: Tile is mirrored vertically. The flip horizontal button is implemented in the text files via combination of 'f' and 'r' ('r'=rotate 90 degrees clockwise), e.g. 'frr' for flipping horizontally a non-rotated tile.

Flopsy

While I can appreciate that it's good to have, I have the editor hotkeys committed to memory now so I'm very unlikely to use it myself. I've gotten too used to rotating twice and mirroring horizontally myself which is only 3 button presses anyway.

Just explaining why I voted "I don't mind" and adding my 2 cents :lix-smile:

Simon

#4
There should be a flip-vertically button, yes. It fell by the wayside during the D rewrite because it's not absolutely required. Still, there should be such a button.

I'll earmark this bug to work on it when I don't have anything urgent to do in Lix.

I believe that I'll hotkey only one of the two mirroring buttons for myself. We'll see what I'll do with the default keybindings. There aren't many good left-hand keys left.

-- Simon

geoo

I'm with Flopsy and Simon on this one: I personally won't use it (neither button nor hotkey, the latter as there's too many other important functionalities to be mapped), at the same time I agree that it technically belongs there from the UX perspective, even if it costs screen estate. Then again, I think it's a minor issue, so I hope Simon doesn't prioritize it over some other more exiciting stuff :8():

QuoteIronically within the level text files there is the tile modifier 'f', which means: Tile is mirrored vertically. The flip horizontal button is implemented in the text files via combination of 'f' and 'r' ('r'=rotate 90 degrees clockwise), e.g. 'frr' for flipping horizontally a non-rotated tile.
I think this is historical, because the original Lemmings game allows you to flip vertically, but not horizontally. Lix supported this initially, and rotation was then added on top, if I'm not mistaken.

Simon

I've looked through Lix's internal graphics. The sprite for vertical mirroring already exists in all current sizes (100%, 150%, 200%, 300% scaling). We had this button in C++ Lix 7 years ago, and it fell by the wayside during the D port.

I'll implement the button. With the graphics already in place, it should take one evening at best.

I'm happy to pull such easy fixes ahead of the experimental version with neutral lix. The promise is that I'll start working on neutral lix in December, and ideally have something really hackish but playable by the end of December.

-- Simon

Simon

All right:




The button to flip vertically exists in unstable Lix: It's the button with the upside-down tree. The button is fully functional.

Because of the new flip button, I had to reduce the add-terrain button from double size to regular size. Now, the add-terrain button is cowering beneath the zoom lens. I'm open to ideas to reorganize the panel and make the add-terrain button more prolific. We can't merely squish the buttons shorter horizontally, the 640x480 resolution (see small screenshot above) already has icons spilling to the edge of its buttons.

No hotkey is bound by default. You may assign one in the options menu.

In the long term, we can contemplate a good default editor hotkey layout. Even if we keep ESDF to move tiles and fit everything around ESDF, there remain issues. The A key is unnatural for copying unless you recognize that it's the easiest button to reach. Many later-introduced hotkeys grew around earlier-introduced hotkeys.

-- Simon

geoo

Interesting how inconsistent the designs of the two flipping buttons are. Not only do they use different terrain pieces to illustrate, but one also has both the original and the flipped sprite, while the other doesn't.

Regarding the larger terrain button, do I remember correctly that the zoom button is mostly for discoverability? Does anybody actually click it? Seems to be one that could be done away with, at the risk though that some users may not discover the existence of zooming. Another option to buy screen estate could be grouping hatches and exits into the same dialog (which then poses the question on how to display/sort them; not all hatches/exits are obviously hatches/exits.)

Simon

#9
Good find with the inconsistencies. Looks like we stumble on these things afresh because we haven't seen them in 7 years. Design history of the buttons:

Around 2007 or 2008, C++ Lix got vertical flip and rotate. I chose vertical flip instead of horizontal mirroring because I forsaw compatibility with L1 as useful. Accordingly, I made f the notation for vertical flip in the file format.

I already had the tree as the symbol to add terrain, and re-used the tree for the icons of the vertical-flipping and rotating buttons.

Around 2008 to 2009, two things happened, and I've forgotten their order. I added horizontal mirroring because that's more useful than vertical mirroring. And to support the L1 format fully, I added eraser pieces (a.k.a. dark) and no-overwrite.

It's hard to recognize the tree icon from its horizontal mirror image, and therefore the 3 new buttons -- horizontal mirror, eraser piece, no-overwrite -- got more abstract tiles in their illustrations. But I didn't remove the tree from the earlier buttons, it was too clear an illustration. Everybody knows where a tree should have its stem.




Yeah, the zoom lens would be my first attacking target when it comes to designing the panel. Maybe some buttons can shrink and others stay as they are, hmm.

I'm pondering to add visible grid lines to the editor. I imagine those need a button, too. Thus, bigger UI revamps aren't entirely off the table. Keep the ideas coming!

-- Simon

Simon

I've released Lix 0.10.1 that has this button.

Still pondering about the UI, how to draw more attention to the add-terrain button than to the other buttons in that aera. But that's for the future!

-- Simon