• Jeffrey Lee's avatar
    Implement sprite translation table caching · 9187a060
    Jeffrey Lee authored
      This set of changes allows the Wimp to cache the last-used translation table, and cleans up some instances where translation tables were being generated and then not used
      s/Wimp01 - Expand selecttable_args to store all 8 registers needed by ColourTrans_GenerateTable. Add 1K of space for caching the palette that the cached translation table was generated from. Remove unused spriteX, spriteY variables.
      s/Wimp04 - Split cachespritedata in two. cachespritedata now only caches the basic information, while the new cachespritepixtable rotuine will generate a translation table (shaded/inverted if required). This allows table generation to be deferred until we're just about to render the sprite, ensuring that the table isn't generated only to not be used. Also updated icon sprite rendering to check the sprite is within the graphics window before attempting to render it, allowing removal of one more case where tables can be needlessly generated.
      s/NewSWIs, s/Wimp09 - Change ADR to ADRL
      s/Tiling, s/Tiling3D - Use cachespritepixtable when needed
      Tested on Iyonix, BB-xM, StrongARM RiscPC
    Version 5.36. Tagged as 'Wimp-5_36'
VersionASM 1010 Bytes