Implement sprite translation table caching
Detail: 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 Admin: Tested on Iyonix, BB-xM, StrongARM RiscPC Version 5.36. Tagged as 'Wimp-5_36'
Showing with 215 additions and 122 deletions