Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R0 | 34 (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 |
R5 | Bits 0-2: GCOL action |
Bit 3: Use sprite mask |
Exit | |
---|---|
All registers preserved |
This call is used to plot a sprite to the screen.
This call does not attempt to translate between different palettes, pixel formats or colour depths. Unless you know the source and destination are in compatible modes, it’s recommended to use OS_SpriteOp 52 - Paint Sprite Scaled instead. However due to the overheads involved in OS_SpriteOp 52, using OS_SpriteOp 34 where possible can result in significant performance gains.
Coordinates are in OS units, and specify the bottom-left corner of the sprite.
No scaling is performed; source pixels will map directly to destination pixels, regardless of the sprite DPI or screen eigen values.
This call does not support alpha blending. Specifically, if an attempt is made to perform a masked plot of a sprite with an alpha mask, an error will be returned.
For sprites with an alpha channel, the mask flag is ignored, and the contents of the alpha channel will be copied directly to the screen alpha channel (assuming the sprite and screen have matching pixel formats).