rom-properties icon indicating copy to clipboard operation
rom-properties copied to clipboard

Nintendo DS thumbnail display issue with Windows XP

Open ccawley2011 opened this issue 2 years ago • 4 comments

On Windows XP, the Details panel will attempt to guess a transparent colour for Nintendo DS icons that don't have one, which can sometimes lead to incorrect results.

SonicRushThumbnail

ccawley2011 avatar Sep 25 '22 11:09 ccawley2011

NDS game icons use a 16-color BGR555 palette, and color index 0 is always transparent. Testing Sonic Rush on various systems here:

  • KDE Plasma 5.25: Shows up correctly. (no transparent pixels)
  • Windows 7: Icon (RP_ExtractIcon) and thumbnail (RP_ThumbnailProvider) are both correct.
  • Windows XP: Icon (RP_ExtractIcon) is correct; thumbnail (RP_ExtractImage) shows the transparency issue you posted.

Going to look into what's causing this.

Sidenote: IThumbnailProvider was introduced in Windows Vista, so the IExtractImage implementation is generally not used unless using Windows XP.

EDIT: It only happens in the Details view. If using Thumbnail view in Windows Explorer, it shows up correctly.

GerbilSoft avatar Sep 25 '22 17:09 GerbilSoft

It seems this might actually be an anti-feature of Windows XP's Explorer Details view. I can't seem to fix it for the Sonic Rush icon (converting to ARGB32, removing the color 0 transparency, etc.), and since it shows up properly when using Thumbnails view, the code is definitely working properly.

Windows XP is long out of support, so unless anyone can figure this out, this bug probably won't be fixed anytime soon.

GerbilSoft avatar Sep 25 '22 17:09 GerbilSoft

I don't know about the program's code or the image stuff, but maybe you could just implement a workaround so that the program replaces the value of 0 with 1 or something, so we get a very dark gray. I suggest making this feature a config option - Maybe even add a compatibility-tab, which could be useful for people messing around for themselves on unsupported platforms.

Maingron avatar Nov 15 '22 02:11 Maingron

I just noticed that on a monochrome VMU icon, the background color is made transparent. It seems it takes the top-left pixel and uses that color as the transparency color. An SA2 save file shows something similar: the background is black, but so is part of the logo. (SA1 is even worse; most of the icon is black, so it's now transparent with a set of eyes and a mouth.) It seems to happen regardless of whether the icon is CI8 (8-bit color) or ARGB32.

There's not much I can really do here, and since it doesn't happen on later versions of Windows, it's not that big of an issue.

GerbilSoft avatar Aug 05 '23 19:08 GerbilSoft