View Issue Details

IDProjectCategoryLast Update
0026083AI War 2GUIFeb 3, 2022 9:39 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product VersionBeta 3.782 Smooth Reloading 
Fixed in VersionBeta 3.792 Thread And Entity Sanity 
Summary0026083: Necromancer Flagships must show hotkey numbers
DescriptionIf a necromancer flagship is control group 1, show that number if the galaxy map
TagsNo tags attached.

Relationships

child of 0025887 resolvedChris_McElligottPark Parent: Todo prior to DLC3 full testing ability (and the new DLC1 additions) 

Activities

BadgerBadger

Feb 3, 2022 5:15 pm

manager   ~0064080

I found the problem. In
ArcenGalaxyMapIcon.cs
We have this code:
                if ( RelatedTypeDataOrNull.SpriteIconOverlay == null && ControlGroupToDraw >= 0 )
                    this.Icon.SetBoxControlGroupForOverlayIfNeeded( ControlGroupToDraw );
                else
                    this.Icon.SetBoxOverlayIfNeeded( RelatedTypeDataOrNull.SpriteIconOverlay ); //okay if null

The Necro-Flagship has an overlay (which is used to indicate what type of flagship it is), so it's not displaying its control group.

I think seeing which Control Group your flagship is using is critical to gameplay.

Chris_McElligottPark

Feb 3, 2022 5:37 pm

administrator   ~0064082

Oh, now I understand this mantis ticket. Yeah, I draw the hotkey info in the overlay slot. Without recoding the entire sprite compound thing, there's no way around that. Hmm. We can't really tell specific flagship types apart without flair... but I guess it's better than not having numbers. So I guess just taking those flairs off would be the solution.

ZeusAlmighty

Feb 3, 2022 5:39 pm

manager   ~0064083

I remember this being the reason we could never distinguish the various transport flagships (cloaking, agile) from the standard one

Maybe we could simply increase the size of the icon for the different necromancer flagships?

Chris_McElligottPark

Feb 3, 2022 5:41 pm

administrator   ~0064085

There's no appreciable way to understand something by just size when it's that small -- we're talking less than a pixel of difference, and people can't distinguish that sort of thing. These things are often only 40px or less across, and even losing 10px means that you can't tell the shape anymore.

In general, there's not a great way to differentiate these without overlays when we're at this sort of scale.

BadgerBadger

Feb 3, 2022 5:43 pm

manager   ~0064087

Could we just have different icons for the different flagship types, which would basically just be baking the overlays in?

I think we need a solution that conveys both hotkey and flagship type, and without both the necromancer will have some consistent usability problems

Chris_McElligottPark

Feb 3, 2022 8:07 pm

administrator   ~0064092

I can't bake in overlays for flagships, because those are colored in full RGB, whereas the icons themselves are just grayscale and then move to the center/border color.

The challenge is that we get down into having just shape again in the flagship type, when this happens. With the icons being as small as they are, it's extraordinarily difficult to convey "this is the same thing" and "this is also a bit different, though" without having the full-color overlays.

I only have so many layers in the shader that I've created, which uses a hand-baked set of mesh quads in the proper orientation. Each one has a set of things that it draws, in color or grayscale or whatever, and adding another layer is a fair bit of overdraw, plus something that would take me an hour or so to figure out again fresh.

Right now there's no good solution for this, short of expanding the shader and mesh stuff, because I built this all in a way that it only has so many slots for visual data, and did so as efficiently as possible, but with some limitations like this one.

Chris_McElligottPark

Feb 3, 2022 8:08 pm

administrator   ~0064093

I guess one other layer that I have is the count of units inside a ship. However, we need that info as well, IIRC. It's what we show for stacks (not relevant here), but I don't remember if we also show it for stuff with transported units. It seems like not. So maybe I could actually try dumping the unit ID over into that slot.

Chris_McElligottPark

Feb 3, 2022 8:13 pm

administrator   ~0064094

Okay, it looks like the mark level spot is also available here, so I could use that.

Chris_McElligottPark

Feb 3, 2022 8:40 pm

administrator   ~0064095

P1:

* For fleet leaders, if they have an overlay for their icon, and also should be showing their fleet control group ID, then it stops showing the mark level of the fleet leader, and instead shows the control group ID.
** Specifically, since it needs to show how many ships are inside it -- if there are any inside it -- then it will flip back and forth once per second between showing the ship count inside larger, and the control group larger, since you can really only see one at a time like this (both are there, but one tends to get covered and tiny). If it's not transporting any ships, it doesn't do this.
** This means that for transports of various types, we can finally have overlays if we want to!

Chris_McElligottPark

Feb 3, 2022 9:39 pm

administrator   ~0064096

Thanks!

* Fleet leaders on the galaxy map now behave the same as they do in the planet view, regarding the new showing of their control group even if they have flair, etc.
** This was more challenging and different code than you might expect, but it works!

Issue History

Date Modified Username Field Change
Jan 8, 2022 12:59 am BadgerBadger New Issue
Jan 8, 2022 12:59 am BadgerBadger Status new => assigned
Jan 8, 2022 12:59 am BadgerBadger Assigned To => BadgerBadger
Jan 8, 2022 2:14 am BadgerBadger Assigned To BadgerBadger => Chris_McElligottPark
Feb 2, 2022 3:20 pm BadgerBadger Relationship added child of 0025887
Feb 3, 2022 5:15 pm BadgerBadger Note Added: 0064080
Feb 3, 2022 5:37 pm Chris_McElligottPark Note Added: 0064082
Feb 3, 2022 5:39 pm ZeusAlmighty Note Added: 0064083
Feb 3, 2022 5:41 pm Chris_McElligottPark Note Added: 0064085
Feb 3, 2022 5:43 pm BadgerBadger Note Added: 0064087
Feb 3, 2022 8:07 pm Chris_McElligottPark Note Added: 0064092
Feb 3, 2022 8:08 pm Chris_McElligottPark Note Added: 0064093
Feb 3, 2022 8:13 pm Chris_McElligottPark Note Added: 0064094
Feb 3, 2022 8:40 pm Chris_McElligottPark Note Added: 0064095
Feb 3, 2022 9:39 pm Chris_McElligottPark Status assigned => resolved
Feb 3, 2022 9:39 pm Chris_McElligottPark Resolution open => fixed
Feb 3, 2022 9:39 pm Chris_McElligottPark Fixed in Version => Beta 3.792 Thread And Entity Sanity
Feb 3, 2022 9:39 pm Chris_McElligottPark Note Added: 0064096