• Jeffrey Lee's avatar
    Fix low colour output · a212eba0
    Jeffrey Lee authored
    Detail:
      source/ChangeFSI - Fixed a couple of issues that could prevent low colour (i.e. <=256) output from working in some situations:
      - Fixed bug in default palette reading code that would cause it to try and allocate silly amounts of memory depending on the current mode (e.g. FNdim of 0 bytes if loading 16 colour palette while in 32bpp mode)
      - Reworked colour conversion code so that the pixel index and image base pointer are in two seperate registers instead of being in one. The old code had a habit of failing with an "image too complex" error when producing <256 colour output, because (base%<<(3-dest_log2bpp)) could easily overflow a 32bit int, especially when you consider that a dynamic area is used to store the target image.
    Admin:
      Tested on RISC OS 5.21 Iyonix, converting a test image to all the different output colour depths & "special" modes.
    
    
    Version 1.40. Tagged as 'ChangeFSI-1_40'
    a212eba0
ChangeFSI 286 KB