Commit f0e0f3ad authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Fix for missing window backgrounds/scroll bars when tiled sprite op not supported

For the backgrounds, the code was switched with 'standalone' however the Wimp actively wipes SA_FLAGS in its makefile so the standalone switch is always false during the install phase of a disc build. Also, the standalone switch is used to include resources which are ordinarily handled by the boot sequence prefixing the WindowManager$Path rather than using ResourceFS.
For the scroll bars, the decision to plot manually was being made by looking at the V flag on return from Tool_SpriteOp, except that that function uses EntryS/EXITS so the caller can't see the return flags.
Added new switch CanTileManually, removed 0 use tilewithspriteops switch.
Changed single use of NoFontBodge switch to use preferred 'outlinefont'.
Tested on RISC OS 4.02.

Version 5.41. Tagged as 'Wimp-5_41'
parent fe39094e
......@@ -48,7 +48,6 @@
Option colourmoreborder, false :LAND: TrueIcon3 ; colour all tools except scroll wells
Option slabinout, false ; slab in selected 'slab out' icons.
Option fixslabalignment, true ; Fix redraw of non-aligned 3D icons
Option tilewithspriteops, false
Option PokeBorder, false ; controls border colour on portables
Option ErrorServiceCall, true ; send service call for Wimp_ReportError
Option NewErrorSystem, true ; enable watchdog and so forth
......
......@@ -80,13 +80,13 @@
Option HideIconBar, false ; icon bar is behind Wimp back window until brought to front
Option UTF8, false ; support for UTF-8 alphabet (Unicode)
Option CnP, true ; support for RISC OS selection model and Cut-and-Paste in writeable icons
Option NoFontBodge, false ; don't use outline fonts
Option ClickSubmenus, true ; submenus opened by clicking on their parent items (configurable)
Option RO4, false ; RISC OS 4 extensions
Option Sprites11, true ; sprite selection scheme that allows use of Sprites11 files
Option SpritesA, true ; look for alpha iconsprite files if OS supports the format
Option ToolTables, true ; look for precalculated tool translation tables
Option CanTileManually, true ; retain manual tiling code incase SpriteOp 65 missing
Option RegisterMessages, false
Option RegisterTools2D, false
......
......@@ -31,5 +31,6 @@ module_postfix SETS " 32-bit"
Option MultiClose, true ; Allow Ctrl-Alt clicks on close/iconise buttons
Option PushBothBars, true ; Push in both scrollbars on adjust-drags
Option AcceptLoosePointers, false ; Sloppy "any -ve will do" checks (for 64M memory map only)
Option CanTileManually, false ; retain manual tiling code incase SpriteOp 65 missing
END
......@@ -36,6 +36,7 @@
Option UTF8, true ; support for UTF-8 alphabet (Unicode)
Option RO4, true ; RISC OS 4 extensions
Option CanTileManually, false ; retain manual tiling code incase SpriteOp 65 missing
DefaultNextSlot SETA 1024*1024
......
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.40"
Module_Version SETA 540
Module_MajorVersion SETS "5.41"
Module_Version SETA 541
Module_MinorVersion SETS ""
Module_Date SETS "18 Apr 2014"
Module_ApplicationDate SETS "18-Apr-14"
Module_Date SETS "19 Apr 2014"
Module_ApplicationDate SETS "19-Apr-14"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.40"
Module_HelpVersion SETS "5.40 (18 Apr 2014)"
Module_FullVersion SETS "5.41"
Module_HelpVersion SETS "5.41 (19 Apr 2014)"
END
/* (5.40)
/* (5.41)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.40
#define Module_MajorVersion_CMHG 5.41
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 18 Apr 2014
#define Module_Date_CMHG 19 Apr 2014
#define Module_MajorVersion "5.40"
#define Module_Version 540
#define Module_MajorVersion "5.41"
#define Module_Version 541
#define Module_MinorVersion ""
#define Module_Date "18 Apr 2014"
#define Module_Date "19 Apr 2014"
#define Module_ApplicationDate "18-Apr-14"
#define Module_ApplicationDate "19-Apr-14"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.40"
#define Module_HelpVersion "5.40 (18 Apr 2014)"
#define Module_LibraryVersionInfo "5:40"
#define Module_FullVersion "5.41"
#define Module_HelpVersion "5.41 (19 Apr 2014)"
#define Module_LibraryVersionInfo "5:41"
......@@ -506,12 +506,12 @@ tile_sprite_fill_area
mov r5,#0
bl plot_tile
[ standalone
[ CanTileManually
; Fall black to plotting the tiles manually if the above call
; failed due to OS_SpriteOp 65 not being available
bvc %ft90
ldr r0,[r0]
ldr r1,=Sprite_BadReasonCode
ldr r1,=ErrorNumber_Sprite_BadReasonCode
teq r0,r1
bne %ft90
......@@ -565,7 +565,7 @@ tile_sprite_fill_area
cmp r4,y0 ; if more tiles below
bgt %BT02 ; keep going
90
] ; standalone
] ; CanTileManually
Pull "r0-r11,pc"
......
......@@ -3516,7 +3516,7 @@ setfontcolours
TraceX fcol, R2
TraceNL fcol
[ :LNOT:NoFontBodge
[ outlinefont
SWI XColourTrans_SetFontColours
STRVS R0, [SP]
]
......
......@@ -2398,10 +2398,8 @@ dofunkyvscroll EntryS "R0-R11"
LDR R2,[R10,#tool_vwellb]
BL set_vclip
BLE %FT20
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT20
10
......@@ -2433,10 +2431,8 @@ dofunkyvscroll EntryS "R0-R11"
BL set_vclip
BLE %FT20
MOV R4,R11
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT20
LDR R11,[sp,#Proc_RegOffset+sp_cy1]
......@@ -2499,10 +2495,8 @@ dofunkyvscroll EntryS "R0-R11"
LDR R2,[R10,#tool_vbarmid]
BL set_vclip
BLE %FT20
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT20
10
......@@ -2649,10 +2643,8 @@ dofunkyhscroll EntryS "R0-R11"
LDR R2,[R10,#tool_hwelll]
BL set_hclip
BLE %FT15
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT15
10
......@@ -2684,10 +2676,8 @@ dofunkyhscroll EntryS "R0-R11"
BL set_hclip
BLE %FT25
MOV R3,R11
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT25
LDR R11,[sp,#Proc_RegOffset+sp_cx1]
......@@ -2752,10 +2742,8 @@ dofunkyhscroll EntryS "R0-R11"
LDR R2,[R10,#tool_hbarmid]
BL set_hclip
BLE %FT40
LDR R0,=SpriteReason_TileSpriteScaled+512
BL Tool_SpriteOp
LDR R0,tool_plotparams
[ standalone
BL Tool_SpriteOpTiled
[ CanTileManually
; Plot manually if OS_SpriteOp 65 failed
BVC %FT40
38
......@@ -3234,6 +3222,17 @@ LoseFont_lost_symbol_font
Tool_SpriteOp
EntryS "R0,R1"
BL Tool_SpriteOpCommon
EXITS
Tool_SpriteOpTiled
Entry "R0,R1"
LDR R0,=SpriteReason_TileSpriteScaled+512 ; Regardless of op, make op tiled
BL Tool_SpriteOpCommon
EXIT
Tool_SpriteOpCommon
Push "lr"
LDRB R1,tsprite_needsregen
TEQ R1,#0
BEQ %FT05
......@@ -3250,7 +3249,7 @@ Tool_SpriteOp
LDR R1,tool_area ; R1 is quite often wrong!
BIC R2,R2,#1 ; flag of masked
SWI XOS_SpriteOp
EXITS
Pull "pc"
;;----------------------------------------------------------------------------
;; Mode-independent sprite code
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment