• Robert Sprowson's avatar
    3 minor fixes, 2 minor enhancements · a9c3b548
    Robert Sprowson authored
    * Conditionally copy the disc resources, saving a little build time.
    Wimp10.s; hdr/Wimp:
    * Issue Service_WimpToolSpritesChanged when the tool sprite area is changed.
    * Fix bug in softloaded versions of the Wimp where menus would randomly lose the keyboard shortcut text. This was caused by use of an LDR to retrieve a byte wide variable. This specifically affected some softloads because the Wimp gets squeezed, and during unsqueezing the Wimp's workspace ends up being allocated from the same bit of RMA that used to contain the squeezed copy of the module (=lots of random numbers).
    * Fix bug where configuring WimpSpritePrecedence to ROM when a theme is loaded would cause redrawing of window textures to fail. This is because the Wimp intersects the ROM and RAM sprite areas and deletes any duplicates from the RAM area when remaking the fast lookup sprite list. So if the RAM sprites include the "tile_1" (etc) sprite on redrawing the desktop the Wimp points to this, then intersects the lists and deletes the sprite, leaving the pointers pointing at junk. Now, on deleting something, the window tile pointers are invalidated. Fixes ticket #346.
    * Fix bug where the title bar text, when the desktop font is the system font, is incorrectly rendered in the colour selected by WimpVisualFlag -WindowOutlineColour. The Wimp now restores the text colour if -WOC has set the graphics colour to something other than black.
    Administrative -
    In Wimp01, swap a couple of SpriteReasons from magic numbers. In the init of variables use the common reset_all_tiling_sprite function.
    In Tiling3D, more SpriteReasons, and rationalise the registers used in reset_all_tiling_sprites.
    Version 5.32. Tagged as 'Wimp-5_32'
VersionASM 1010 Bytes