I had noticed this when making my school presentation and found it to be a serious flaw, but hadn't gotten the chance to make a post or had forgotten, but it's summer for me now. Anyway, I made a text file for myself that has all 32 shades per 5bit channel RGB translated to 8bit per channel RGB by taking 255, dividing it by 31 to get about 8.2258, then multiplying that number by 0-31 and recording the products:
However, even though I had used only these numbers for the colors in my indexed picture, PCX2SNES did not generate a palette with color entries that corresponded to what they should be. Then I thought that maybe, they were just dividing 256 by 32 and either treating everything darker than 8 as 8 in 24bit RGB before transferring it to 0 in 15bit RGB, or treating everything brighter than 248 as 248 in 24bit RGB before transferring it to 31 in 15bit RGB, so 24bit RGB is just 15bit RGB multiplied by 8. But based on the colors I got, and what I can't even wrap my mind around as to why it was made to do this, it can't be doing either of these, because despite my picture only having different shades of pure gray (all channels have the same value), the colors it generated did not always have the same brightness in every channel, which I can only assume is because they did not separate the color channels or something when performing calculations on them. Needless to say, the result looked like ass and I had to edit the colors in a hex editor, which was a lot more time consuming and taxing on my brain than it should have been.
So incase you haven't arrived at this conclusion already, do yourself a favor and don't use PCX2SNES.
Code:
0
8
16
25
33
41
49
58
66
74
82
91
99
107
115
123
132
140
148
156
165
173
181
189
197
205
213
222
230
239
247
255
8
16
25
33
41
49
58
66
74
82
91
99
107
115
123
132
140
148
156
165
173
181
189
197
205
213
222
230
239
247
255
However, even though I had used only these numbers for the colors in my indexed picture, PCX2SNES did not generate a palette with color entries that corresponded to what they should be. Then I thought that maybe, they were just dividing 256 by 32 and either treating everything darker than 8 as 8 in 24bit RGB before transferring it to 0 in 15bit RGB, or treating everything brighter than 248 as 248 in 24bit RGB before transferring it to 31 in 15bit RGB, so 24bit RGB is just 15bit RGB multiplied by 8. But based on the colors I got, and what I can't even wrap my mind around as to why it was made to do this, it can't be doing either of these, because despite my picture only having different shades of pure gray (all channels have the same value), the colors it generated did not always have the same brightness in every channel, which I can only assume is because they did not separate the color channels or something when performing calculations on them. Needless to say, the result looked like ass and I had to edit the colors in a hex editor, which was a lot more time consuming and taxing on my brain than it should have been.
So incase you haven't arrived at this conclusion already, do yourself a favor and don't use PCX2SNES.