mirror of
https://github.com/cc65/cc65.git
synced 2025-01-03 16:33:19 +00:00
Add Lynx documentation to sp65
git-svn-id: svn://svn.cc65.org/cc65/trunk@5916 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
66ad6be22a
commit
5b479a4f51
@ -254,6 +254,58 @@ bytes). There are no additional attributes for this conversion.
|
||||
|
||||
<sect1>Lynx sprite<p>
|
||||
|
||||
Lynx can handle 1, 2, 3 and 4 bits per pixel indexed sprites. The maximum size
|
||||
of a sprite is roughly 508 pixels but in reality the Lynx screen is only 160 by
|
||||
102 pixels which makes very large sprites useless.
|
||||
|
||||
The number per pixels is taken from the number of colors of the input bitmap.
|
||||
|
||||
There are a few attributes that you can give to the conversion software.
|
||||
|
||||
<descrip>
|
||||
|
||||
<tag/mode/
|
||||
The first is what kind of encoding to use for the sprite. The attribute for
|
||||
this is called "mode" and the possible values are "literal", "packed" or
|
||||
"transparent". The default is "packed" if no mode is specified.
|
||||
|
||||
The "literal" is a totally literal mode with no packing. In this mode the
|
||||
number of pixels per scanline will be a multiple of 8 both right and left from
|
||||
the action point.
|
||||
|
||||
If the source bitmap edge ends with a color where the least significant bit is
|
||||
one then there will be an extra 8 zero bits on that scan line.
|
||||
|
||||
So if you are using totally literal sprites and intend to change them at
|
||||
runtime then please add a single pixel border far left and far right with
|
||||
zeros in order to prevent graphical glitches in the game.
|
||||
|
||||
The standard encoding is called "packed". In this mode the sprite is packed
|
||||
using run-length encoding and literal coding mixed for optimisation to
|
||||
produce a small sprite.
|
||||
|
||||
The last encoding mode "transparent" is like packed. But here we know that
|
||||
the index 0 will be transparent so we can clip off all 0 pixels from the left
|
||||
and right edge of the sprite. This will produce the smallest sprite possible
|
||||
on the Lynx. The sprite is not rectangular anymore.
|
||||
|
||||
<tag/ax/
|
||||
The sprite is painted around the Anchor point. The anchor point x can be
|
||||
between 0 and the width of the sprite - 1. If anchor point x is zero then
|
||||
painting the sprite in location 10,20 will set the left edge of the sprite
|
||||
10 pixels from the left of the Lynx screen. When the sprite is scaled by
|
||||
hardware the anchor point stays in place and the sprite grows or shrinks
|
||||
around the anchor point. The default value is 0 (left).
|
||||
|
||||
<tag/ay/
|
||||
The sprite is painted around the Anchor point. The anchor point y can be
|
||||
between 0 and the height of the sprite - 1. If anchor point y is zero then
|
||||
painting the sprite in location 10,20 will set the top of the sprite 20
|
||||
pixels from the top of the Lynx screen. When the sprite is scaled by
|
||||
hardware the anchor point stays in place and the sprite grows or shrinks
|
||||
around the anchor point. The default value is 0 (top).
|
||||
|
||||
</descrip>
|
||||
|
||||
<sect1>VIC2 sprite<p>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user