[✓][SUG][ED] GUI Style Manager (for styles.ini list sorting)

Started by Strato Incendus, November 26, 2020, 12:08:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Strato Incendus

It's nice that we have so many different graphic sets, but by now it's really getting hard to keep the overview. Not over the standard orig, ONML, and L2 tilesets, which are right at the start (where they should stay, since they are probably the most-frequently-used ones). But when it comes to custom tilesets, the order in the dropdown menu in the editor seems fairly arbitrary.

Yeah, sure, I can understand why namida's Lemmings Plus tilesets are first in the list after the official tilesets - he created and maintains this entire thing, after all, and we all are very thankful for it ;) .

However, even after namida's tilesets, the order doesn't really seem to be alphabetical or anything else: Gronkling comes before Flopsy, then it jumps back to Arty, then Raymanni, then IchoTolot, then the Freedom-Planet tilesets... I often spend a long time just scrolling through this list, even though I know exactly which tileset I want to pick, but I just can't find it quickly.

In addition, each line start's with the name of the tileset, not with that of the author; so sometimes, if the tileset name is long enough that you can't properly see the author, it would be hard to tell the order even if it were alphabetical.

I think it would be in everyone's best interest, for the sake of convenience, if we bring some order into this randomness. ;)

My suggestion would be:
1) Everything from the orig tilesets down to the L3 tilesets remains as it is right now.

2) After that section, the custom tilesets currently start with namida's Lemmings Plus tilesets. I wouldn't necessarily mind them staying there, with the alphabetical order starting after namida. However, especially for those LP tilesets that GigaLem has revamped, most people are probably using those more frequently now. So it doesn't really make sense for the original LP tilesets to take precedent in this regard.
3) Maybe the format shouldn't be "Tileset name (Author)", but "Author: Tileset name"? Since we're reading from left to right, it would be much easier to tell this way where you are in the alphabetical order. But this is just optional.

Whether the naming scheme starts with the author or the tileset name itself:
Just begin the custom-tileset list with authors starting on A, and then continue that all the way down to zanzindorf.
In case of Colorful Arty, we / he need(s) to decide whether he should go by his full name (i.e. letter C), or just by "Arty", as it's written in the editor right now (i.e. letter A). Given the limited width of the dropdown menu, shortening it to "Arty" is probably more practical.

An alphabetical order is not a value judgment, after all - it's neutral and purely pragmatical. ;)
This should apply to all tilesets which have been "officially approved", i.e. are part of the official styles download.

After the letter z, we could have all the special tilesets at the bottom, followed by whatever the individual level designer maybe added by him- or herself, but what isn't part of the official download (yet). In my case, all my custom sprite recolourings go there.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

WillLem


namida

Make a styles.ini file that fits this and, assuming no strong objections (or possibly even in spite of them, if there's enough support), I'll put it in the next update.
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)

mantha16

also if theres any way you can make the text bigger in the dropdowns that would be awesome or at least space them a bit more

Strato Incendus

QuoteMake a styles.ini file that fits this and, assuming no strong objections (or possibly even in spite of them, if there's enough support), I'll put it in the next update.

Alright, just cutting and pasting the tilesets in that file is easy enough... but as far as I understand it, I also need to change the numbers for "order" for each tileset.

Is there any more efficient way to do this? I just want to ask before I change every single number by hand. :P

Especially because such an alphabetical list would have to be updated whenever new tilesets come out. Simply adding new lines between existing ones would be straightforward, but if the order index is required in addition to that, such a manual changing of the order numbers would have to be done every time a new tileset comes out.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Proxima

Quote from: Strato Incendus on November 27, 2020, 12:10:07 AMEspecially because such an alphabetical list would have to be updated whenever new tilesets come out. Simply adding new lines between existing ones would be straightforward, but if the order index is required in addition to that, such a manual changing of the order numbers would have to be done every time a new tileset comes out.

Leave gaps. For instance, if the indexes for proxima_tile, proxima_persia and proxima_minesweeper are 160, 161 and 162, then have strato_autumn (or whatever comes next) at 180 in case I make more styles later.

namida

My understanding (haven't actually checked) is that decimals can be used, too.
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)

WillLem

#7
Quote from: namida on November 27, 2020, 12:55:21 AM
My understanding (haven't actually checked) is that decimals can be used, too.

Tested and confirmed, using decimals works.

Is there a way for the Editor to simply display the items in the order that they appear in the styles.ini file, without the need for Order=X text? No worries if not, decimals is a decent enough workaround.

Dullstar

I agree with WillLem's suggestion that the items should simply be displayed in the order they appear in styles.ini. Decimals as a workaround is better than nothing, I suppose, but still non-ideal. Displaying them in the order listed in styles.ini is intuitive.

That said, I think a GUI to handle styles.ini would also be convenient, so the user could drag and drop styles around (perhaps with a few default sorting options to choose from) and quickly pin favorite styles to the top.

Strato Incendus

Being able to re-arrange them yourself as a user would of course be the bee's knees, but if it were just possible to make them appear in the same order as in the text file, without having to mess with the indices every time new graphic sets are added, that would already enough for me. After all, that technically still gives the user the power to re-arrange the tilesets him- or herself. It's just slightly less convenient than being able to do it via the editor.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

namida

Agree on both of these suggestions, though not promising that the GUI will actually happen.
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)

namida

#11
EDIT by WillLem: Merged from original topic [DISC][ED] Styles.ini overhaul/replacement



At present, the user-friendly style names, as well as the order, used by the editor come from the "styles.ini" file.

This is better than hardcoding it or not supporting user-friendly names at all, but it means that any changes have to be handled by NL devs, and generally won't be pushed out to users until the next NeoLemmix update.

I'd like to talk about replacing this.

My first thought is to allow styles to include their own metainfo file. This file could look something like the following:

Code (style.nxmi) Select
NAME Abstract
AUTHOR namida
ORDER 50

The editor would load this file, rather than a centralized styles.ini file.

Some key points:
- Styles by the same author would ALWAYS be grouped together. Authors would by default be in alphabetical order, with some means - probably just a manually-editable text file at least at first - to allow the user to override this.
- By extension, the default configuration would have such an override to push the official styles to the top of the list. This would just be a matter of "default setting" and the user could override this if they want.
- The "Order" parameter only applies to the style's order, relative to other styles from the same author. So you don't need to worry about what ORDER values other authors have used.
- In any case where "Order" is not present, or two styles have equal values for order, it would fall back to alphabetical sorting.
- While fallback behavior would exist, it would become a requirement that all new styles being submitted to the NL style manager have this metainfo file. For existing styles, it could be auto-generated based on the current settings in styles.ini.


Thoughts?
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)

mantha16

I don't really understand most of this but if it means that styles can be listed alphabetically then I'll all for that but can you please also make the drop down menu bigger :D

Proxima

No, this proposal would prevent customising the styles.ini to make all the styles alphabetical. It would enforce grouping them by author first, with the authors being in alphabetical order.

mantha16

well thats still kinda alphabetical more helpful if I know which author has created a style but tbh in the editor the biggest issue I have is with the size of the style selection really hard to see so it takes me forever to find a style eps my own lol so it will help in that sense if all mine would be together