• Jeffrey Lee's avatar
    Various bugfixes. Improve sprite info dialog. · 3a9a3a2c
    Jeffrey Lee authored
      - Handling of currently selected foreground & background colour rewritten; colour is now stored as a 'main_colour' struct, in order to allow representation of alpha level, pixel colour/palette index (which must be 4 bytes for things like CMYK) and ECF index (previously encoded as negative colour values). Fixes crashes when editing RISC OS 5 32bpp ARGB sprites. Note that although the alpha level is now stored internally, and tools should mostly respect it, palette/colour picker limitations mean that only 0/255 is available when selecting colours.
      - "Select colour" code rewritten to decode all the new pixel formats correctly; colours_entry() now accepts a sprite mode word instead of a number-of-colours value
      - "Full info" display tweaked to give more information about the mask (now displays no mask, normal mask, alpha mask, alpha channel)
      - Sprite info dialog extended to display lots more information, including OS version compatibility
      - Fix sprite menu to disallow add/remove mask option if the sprite has a RISC OS 5 alpha channel
      - Fix ECF pattern that's used for the background of masked sprites to get black/white colour values from ColourTrans when in >8bpp modes, to ensure correct colours in new RISC OS 5 modes
      - Fix palette window to render ECF patterns correctly - when creating the sprite that shows the ECF pattern in the palette, psprite_setup_ecf() was failing to set its palette due to passing a sprite pointer to ColourTrans but setting the flags as if it was a sprite name
      - Fix sprwindow_redisplay() and sprwindow_invalidate() to refresh the display correctly when in full info mode; was previously assuming only one column of sprites visible
      - Fix sprites with alpha channels to have the mask ECF pattern plotted in the background
      Files changed:
      - Resources/UK/Messages, Resources/UK/Templates,fec, c/Colours, c/Main, c/Menus, c/PSprite, c/SprWindow, c/Tools, h/Colours, h/MenuD, h/PSprite, h/main
      Tested on BB-xM
      Amongst others, fixes issue reported on forums with spritefile window not refreshing correctly when in full info display with multiple columns:
    Version 2.16. Tagged as 'Paint-2_16'
Messages 11.9 KB