Author Topic: [SUG][PLAYER] Toggle panel view to show how many skills you've used so far  (Read 8101 times)

0 Members and 1 Guest are viewing this topic.

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
I'm wondering if it might be possible to make it so that if you right-click on a skill in the panel, it shows how many you've used so far. Maybe the number could be shown in a different colour to help differentiate it.

Left or right-clicking the skill afterwards could return it to default view.


See Reply #2 for current version of this suggestion
« Last Edit: April 09, 2021, 09:32:46 PM by namida »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Re: [SUG][PLAYER] Right-click skill to show how many you've used so far
« Reply #1 on: December 23, 2020, 06:08:03 AM »
Right-click already has another function (specifically, assigning to the highlit lemming), but adding some means to check this could be a good idea.
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
[SUG][PLAYER] Toggle panel view to show how many skills you've used so far
« Reply #2 on: December 23, 2020, 06:23:54 AM »
Ah yes, of course. I never use the highlight lemming feature, so I totally forgot about that! :P

Maybe a dialog (similar to the replay edit) that lets you know how many of each skill you've used so far?

Better yet, a hotkey that toggles the panel view itself, something like this:



« Last Edit: March 27, 2021, 08:09:58 PM by WillLem »

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Just giving this a bump, because it would come in super handy for Save-em-Up, SYCLW and general play.

Offline Silken Healer

  • Posts: 190
    • View Profile
Prehaps if you hold shift and hover the mouse cursor over the desired tile in the skill panel, it can change the number to the skills remaing. (Click on the image to view the concept art in full size) (I'm also not sure why the builder's bricks turned green in the concept art, not important though).
« Last Edit: April 04, 2021, 09:52:42 PM by Silken Healer »

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
I have to say, I think this one's a no-brainer tbh. It removes the need to mentally track skill usage during a challenge or contest, allowing the player to focus completely on the solution.

To be clear, my suggestion is now the toggleable skill panel in Reply #2. I like Silken's idea as well, but a fully-toggleable panel seems to be neater as it shows everything at once.

EDIT: Having said that, I can see the usefulness of, say, knowing how many Builders you've used and how many Platformers remain.

I've added a poll since there haven't been a lot of comments, and I find it's more usual for people to comment when not-in-favour ;P
« Last Edit: April 09, 2021, 07:40:10 AM by WillLem »

Offline Silken Healer

  • Posts: 190
    • View Profile
Prehaps we could add both my previous idea and also add: a 'skills used mode' button on the skill panel (like clear physics mode or fast forward) which changes the skills remaining to skills used. To be clear like WillLem, my idea is to have both my previous post in this topic, and the bold text in this one.
« Last Edit: April 09, 2021, 05:09:50 PM by Silken Healer »

Offline Silken Healer

  • Posts: 190
    • View Profile
Prehaps we could add both my previous idea and also add: a 'skills used mode' button on the skill panel (like clear physics mode or fast forward) which changes the skills remaining to skills used. To be clear like WillLem, my idea is to have both my previous post in this topic, and the bold text in this one.

Also if this idea were to be implemented, holding shift whilst hovering over the desired skills tile whilst skills used mode is on, it could have the opposite effect and turn the skills used to the skills remaining
« Last Edit: April 09, 2021, 05:11:33 PM by Silken Healer »

Offline Proxima

  • Posts: 4569
    • View Profile
Prehaps we could add both my previous idea and also add: a 'skills used mode' button on the skill panel (like clear physics mode or fast forward) which changes the skills remaining to skills used.

While I'm absolutely in support of a hotkey for "skills used mode", it's far too niche a feature to justify a skill panel slot.

Offline Silken Healer

  • Posts: 190
    • View Profile
Prehaps we could add both my previous idea and also add: a 'skills used mode' button on the skill panel (like clear physics mode or fast forward) which changes the skills remaining to skills used.

While I'm absolutely in support of a hotkey for "skills used mode", it's far too niche a feature to justify a skill panel slot.

Idk, I think it would look nice. I understand where you coming from though

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
From the rules topic:

Quote
4. Please do not create polls in your topics. I will add polls as I see necessary, that ask questions that get the kind of answers I'm interested in finding out.
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
From the rules topic:

Quote
4. Please do not create polls in your topics. I will add polls as I see necessary, that ask questions that get the kind of answers I'm interested in finding out.

Just to clarify - does this only apply to suggestion topics, or should I not be creating polls at all?? :lem-shocked:

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
It's a rule of the NeoLemmix Bugs / Suggestions board. So - you should not be creating polls anywhere on the NL Bugs / Suggestions boards, unless of course I specifically give it the okay (which I usually won't, unless it's eg. a suggestion being discussed on Discord and I say something like "create a topic and add so-and-so as a poll"). Elsewhere on the forums is fine, as the bugs / sugs board rules don't apply outside those boards. ;)
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
It's a rule of the NeoLemmix Bugs / Suggestions board. So - you should not be creating polls anywhere on the NL Bugs / Suggestions boards, unless of course I specifically give it the okay (which I usually won't, unless it's eg. a suggestion being discussed on Discord and I say something like "create a topic and add so-and-so as a poll"). Elsewhere on the forums is fine, as the bugs / sugs board rules don't apply outside those boards. ;)

So I can create a Poll asking, for example, "is namida a silly sausage?", as long as it isn't on the Bugs or Suggestions board? :lemcat:

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Yes, as long as it is on a suitable board (in that case, most likely General Discussion, as we don't have a dedicated shitposting board).
My Lemmings 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)

Offline mantha16

  • Posts: 287
    • View Profile
+1 for namida is a silly sausage

Offline Proxima

  • Posts: 4569
    • View Profile
Anyway, back on the subject of toggling the silly view to show how many sausages we've used....

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
we don't have a dedicated shitposting board

:crylaugh:

+1 for namida is a silly sausage

:thumbsup:

Anyway, back on the subject of toggling the silly view to show how many sausages we've used....

Yes, indeed!

Thinking about it, Silken's idea of being able to toggle individual buttons might also be useful (for example, if you want to see how many Bashers you've used and how many Miners remain simultaneously), but if the idea gets implemented as a panel-wide-only thing, that's also brllliant.

Anyone else have any other thoughts on this?

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
There would need to be a lot of support, and some good reasoning, for me to do it as a per-skill thing. My current expectations are (a) this feature will likely get implemented, but (b) only as a "all or nothing" rather than per-skill thing.
My Lemmings 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)

Offline Simon

  • Administrator
  • Posts: 3876
    • View Profile
    • Lix
If you want to see both a limit and a usage, x/y is a common way.

I'd avoid colors as the only denotion of some meaning. People can be color-blind and the meaning is rarely clear from color alone.

The lo-res panel isn't well-suited to printing more than two digits. In hindsight, I'm surprised how long it has fared nicely lo-res-only despite all the existing UI bells and whistles.

-- Simon

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Quote
I'd avoid colors as the only denotion of some meaning. People can be color-blind and the meaning is rarely clear from color alone.

There would be the additional signal given by the feeling of holding down your "show used skill count" hotkey. :P
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
If you want to see both a limit and a usage, x/y is a common way.

???

Please elaborate :)

Offline Proxima

  • Posts: 4569
    • View Profile
The suggestion is that the panel should say, for example, "10/25" to mean "10 builders available, you started with 25".

I'm strongly against this; it doesn't work for NeoLemmix. Firstly, the skill panel buttons only have room for two digits (and no, I know you love your hi-res, but namida has made it clear that NL will never move to hi-res only).

More importantly, information on the number of skills used is a niche feature that's nice to have, but definitely doesn't merit being always-on and taking up screen real estate. The extra numbers would make it much easier to get confused when looking at the number of each skill you have left, which is the really important information you want access to at all times.

Offline Silken Healer

  • Posts: 190
    • View Profile
If you want to see both a limit and a usage, x/y is a common way.

???

Please elaborate :)

I think Simon means 'x' would be the skills used and 'y' would be the total skills

Offline Silken Healer

  • Posts: 190
    • View Profile
The suggestion is that the panel should say, for example, "10/25" to mean "10 builders available, you started with 25".

I'm strongly against this; it doesn't work for NeoLemmix. Firstly, the skill panel buttons only have room for two digits (and no, I know you love your hi-res, but namida has made it clear that NL will never move to hi-res only).

More importantly, information on the number of skills used is a niche feature that's nice to have, but definitely doesn't merit being always-on and taking up screen real estate. The extra numbers would make it much easier to get confused when looking at the number of each skill you have left, which is the really important information you want access to at all times.

I agree with the first part, but not with the second. I think it would be nice to have it on screen.

Offline Silken Healer

  • Posts: 190
    • View Profile
If you want to see both a limit and a usage, x/y is a common way.

I'd avoid colors as the only denotion of some meaning. People can be color-blind and the meaning is rarely clear from color alone.

The lo-res panel isn't well-suited to printing more than two digits. In hindsight, I'm surprised how long it has fared nicely lo-res-only despite all the existing UI bells and whistles.

-- Simon

I agree that there should be some other way of showing the skills would change, but not by using x/y. Btw, all types of colourblindness would still show that the colour has changed, and at the time of writing it wouldn't clash with any other colours because the only possible colours it can be is white.

Offline Silken Healer

  • Posts: 190
    • View Profile
There would need to be a lot of support, and some good reasoning, for me to do it as a per-skill thing. My current expectations are (a) this feature will likely get implemented, but (b) only as a "all or nothing" rather than per-skill thing.

If you were to implement it as a per skill thing, would you use my idea?

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
There would need to be a lot of support, and some good reasoning, for me to do it as a per-skill thing. My current expectations are (a) this feature will likely get implemented, but (b) only as a "all or nothing" rather than per-skill thing.

If you were to implement it as a per skill thing, would you use my idea?

While useful in some situations, this is a very niche feature. It is not nearly important enough to justify giving it a clickable button, especially considering that either the panel would need to be made larger, the minimap smaller, or another button replaced (or two buttons merged into a top/bottom split similar to dirselect / frameskips) in order to fit it. Even if I was going to do that, there are features far more deserving of a place there.
My Lemmings 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)

Offline Silken Healer

  • Posts: 190
    • View Profile
Wait I thought an "all or nothing" thing was that. I thought a "per-skill" thing meant the toggiling individual buttons thing? ???
« Last Edit: April 18, 2021, 03:50:24 AM by Silken Healer »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Wait I thought an "all or nothing" thing was that. I thought a "per-skill" thing meant the toggiling individual buttons thing? ???

Okay, to avoid confusion, let me spell out exactly how I see this working:

It will be possible to assign a hotkey the behavior of "Show skills used". When the "Show skills used" hotkey is held down, the skill panel will change from showing remaining skill counts, to showing the used-so-far count for every skill. The skill counts could also change color to reinforce that this mode is active - this is something to be decided. It will not be possible to show this for just one skill at a time. There will be no default hotkey assigned (you must assign one yourself), and there will not be a clickable button on the skill panel to activate this.
My Lemmings 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)

Offline Silken Healer

  • Posts: 190
    • View Profile
I see now. Why don't you want to implement it so if you hold shift and the mouse cursor is over a skill tile it shows the skills remaining for the individual skill aswell as a hotkey which changes all of them

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Before things get too out of hand, my suggestion is this and only this:

A hotkey that toggles the entire panel to show skills used, as shown in Reply #2.

So, NOT individual skills, NOT showing both used/remaining simultaneously, and NOT a clickable button on the panel for toggling the view; these are things that have come up in the conversation, but I'm not necessarily in support of any of these ideas.

Regarding these; as Proxima said, showing both figures is confusing, would clutter up the panel, and there isn't enough space to do it anyway. Toggling individual skills, whilst useful, is not entirely necessary so I'm probably 50/50 on that one (namida appears to have ruled it out at this point anyway).

Having a clickable button, meanwhile, might simply be a case of expanding the panel to have an extra slot; I've created this topic to consolidate this idea into something inclusive of current features.

Again, though, the primary idea as shown here (and the one namida appears to have agreed upon) is the only one I'm promoting in this topic.

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
I see now. Why don't you want to implement it so if you hold shift and the mouse cursor is over a skill tile it shows the skills remaining for the individual skill aswell as a hotkey which changes all of them

Because it's unneccessary. I can't imagine any situation where it would be important to be able to display "skills used" for one skill, but "skills remaining" for all other skills, at the same time. The inverse could certianly be a bit more useful (generally showing skills used, but able to quickly check the skills remaining for one skill), but I still don't feel this is a strong enough need to justify implementing this.

However, one point that is raised by this latter example - is that there could certianly be situations where users would want to stay on skills used, rather than just view it temporarily. For this reason, I definitely think that (much like the Clear Physics Mode hotkey) it should be possible to configure this key as either a "hold" or a "toggle". But I'm not at all convinced it needs to exist in a "one skill at a time" form.
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
I can't imagine any situation where it would be important to be able to display "skills used" for one skill, but "skills remaining" for all other skills, at the same time.

For Talisman solutions limiting one particular skill, especially where all skills are initially provided in different amounts (and so would be more difficult to track mentally). Could also come in handy for SYCLW, where you may wish to compare usage of two or more constructive/destructive skills.

Granted, these are niche examples and we've been doing well enough so far without such a feature, but I just felt it was worth mentioning that there are situations in which the proposed idea could be of some use.

That said, toggle/hold for the full panel is more than sufficient.

Offline Silken Healer

  • Posts: 190
    • View Profile
I see now. Why don't you want to implement it so if you hold shift and the mouse cursor is over a skill tile it shows the skills remaining for the individual skill aswell as a hotkey which changes all of them

Because it's unneccessary. I can't imagine any situation where it would be important to be able to display "skills used" for one skill, but "skills remaining" for all other skills, at the same time. The inverse could certianly be a bit more useful (generally showing skills used, but able to quickly check the skills remaining for one skill), but I still don't feel this is a strong enough need to justify implementing this.

However, one point that is raised by this latter example - is that there could certianly be situations where users would want to stay on skills used, rather than just view it temporarily. For this reason, I definitely think that (much like the Clear Physics Mode hotkey) it should be possible to configure this key as either a "hold" or a "toggle". But I'm not at all convinced it needs to exist in a "one skill at a time" form.

I don't really see the harm in adding a feature where if you hover your mouse over the skill tile and press SHIFT it has a few uses aswell

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
You "don't see the harm" because you are not the one who has to implement, maintain, and bugfix such a feature - as well as the wider code that it adds complexity to.

I am the one who has to do that, and I am not remotely convinced that the effort that would need to go into implementing such a feature is justified by the very, very, VERY limited benefit it adds over just having a general "all skills at once" version of this idea. Even the original idea is fairly niche, but it does have use cases that significantly benefit from it even if they're quite niche, and it's much simpler to implement than a per-skill version. By comparison, the per-skill idea offers nearly no extra advantage over being able to do it for all skills at once, let alone enough advantage to justify the work involved.

I'm ending this discussion now: A per-skills version of this idea will not be happening, period.
My Lemmings 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)

Offline Silken Healer

  • Posts: 190
    • View Profile
Oh yeah. Sorry, I forgot about how the code could be really complex and bug fixing it

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Oh yeah. Sorry, I forgot about how the code could be really complex and bug fixing it

Don't sweat it. Until you give coding a try yourself, it's easy to forget (or not even realise) how difficult and/or time-consuming it can be even to do something simple like adding a button or displaying an image, let alone implementing something complex and multilayered.

Offline Silken Healer

  • Posts: 190
    • View Profile
Thanks WillLem. Anyway, now namida has offically rejected the idea of toggiling individual skill tiles due to the coding complexicty compared to practical uses, what does everyone think the toggle hotkey should be?

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Honestly, sometimes with code complexity you can have a feature that's simple to implement if you planned it from the start, but depending on how the code evolved, can be a royal pain to add in later.

I don't have an objection to this idea, but likely wouldn't be making much use of it either. That said, I agree it's likely too niche to justify a skill panel button for.
« Last Edit: April 19, 2021, 08:39:17 PM by Dullstar »

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
what does everyone think the toggle hotkey should be?

There will be no default hotkey assigned (you must assign one yourself)

^ In addition to this, I'd also note that in general, hotkeys can be configured so there doesn't particularly need to be a huge consensus on what the key should be for any given function.
My Lemmings 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)

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Commit 14b1e3e has implemented the actual functionality on this. Commit 5c1033b then improves the visuals - colors are inverted when displaying used skill count (ie: black number on white background), and zero will be displayed as a zero rather than a blank panel.

As mentioned, both toggle and hold are supported (similar to how for Clear Physics Mode you can either configure a press-and-hold hotkey or just a press-to-toggle one). Also as mentioned, an implementation to show this for one skill at a time (or all except one skill) is not going to happen. Any other further input, go ahead - leaving the topic open for now in case there is any.

EDIT: Actually, one question is what to do on the offchance that, in a level with infinite uses of a certain skill provided, the player uses more than 99. I'm not going to implement code to try and squeeze 3 digits like the SR does; but I'm open to three possibilities (with the first being how it's currently coded):
a) The used count maxes out at 99, and any higher number is just displayed as 99 (note that higher numbers are still tracked internally for talisman / record purposes; this is purely a maximum on what the panel will display)
b) The used count displays a purpose-made "100+" graphic that just holds the general meaning of "100 or more"
c) The last two digits of the used count are displayed
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
Commit 14b1e3e has implemented the actual functionality on this.

Brillo! :lemcat: Is this in 12.11.3?

Commit 5c1033b then improves the visuals - colors are inverted when displaying used skill count (ie: black number on white background), and zero will be displayed as a zero rather than a blank panel.

How about green on black as per reply #2? Not important, of course, but worth asking.

As for 99+ skill usage, I'd suggest either:

a) The used count maxes out at 99, and any higher number is just displayed as 99

or, display the "infinity" symbol. If 99, maybe it should change colour?

Offline namida

  • Administrator
  • Posts: 12399
    • View Profile
    • NeoLemmix Website
Quote
Brillo! :lemcat: Is this in 12.11.3?

No, it won't be in any 12.11.X release, but it's a confirmed feature for 12.12.X. For the record - 12.11.3 only backported a few bugfixes, not any new features (and even one bugfix, I opted not to backport just because I felt it would be safer for that particular fix to go through the RC phase first).

Quote
How about green on black as per reply #2? Not important, of course, but worth asking.

The one thing to consider here is custom panels. While most do stick to white-on-black, they're not forced to do so. Inverting should produce a result that works well regardless of what the original colors are (just as long as they aren't set up in some weird unusual way).
My Lemmings 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)

Offline WillLem

  • Posts: 3384
  • Unity isn't sameness, it's togetherness
    • View Profile
The one thing to consider here is custom panels. While most do stick to white-on-black, they're not forced to do so. Inverting should produce a result that works well regardless of what the original colors are

Good shout 8-)