Showing changes from revision #2 to #3:
Added | Removed | Changed
Entry | |
---|---|
R0 | 50 (Reason code) + Area value |
R1 | Unused/Sprite area (as defined by area value in R0) |
R2 | Sprite name/pointer (as defined by area value in R0) |
R3 | X coordinate |
R4 | Y coordinate |
R6 | Pointer to scaling factors, or 0 for 1:1 scaling |
Exit | |
---|---|
All registers preserved |
This call paints a sprite mask to the screen. For sprite pixels where the mask is non-zero, the corresponding screen pixel will be set to the currently selected background colour. If the mask is zero the screen pixel will not be updated.
Coordinates are in OS units, and specify the bottom-left corner of the sprite.
1:1 scaling maps directly from source pixels to destination pixels; the DPI and eigen values of the source and destination are ignored.
When used on a sprite without a mask, a filled rectangle the size of the scaled sprite will be drawn.
OS_SpriteOp 49 - Plot mask at user coords is a less sophisticated sprite plotting interface which can be used in certain situations. If you have large numbers of sprites to render and are concerned about performance, consider using that call where possible. Per-pixel performance will be identical to OS_SpriteOp 50, but there will be lower overheads per sprite rendered.