Open main menu

Difference between revisions of "AGI/Specifications/Other"

Added preliminary sections and information for AGI256 and AGI256-2.
(→‎pal.* Format: adding format)
(Added preliminary sections and information for AGI256 and AGI256-2.)
Line 506: Line 506:
Chunk4-Chunk7 Same as Chunk0-Chunk3
Chunk4-Chunk7 Same as Chunk0-Chunk3
</pre>
</pre>
==AGI256==
AGI256 is a hack to AGI interpreter v2.936 to add 256-color picture resource support.
The AGI256 hack was originally made by Dark Minister.
AGI256 uses the unknown170(v) a.k.a. set_simple(v) command to load 256-color
picture resources. The parameter v is the variable's number that holds the
picture resource's number.
Example of use:
<pre>
v123 = 10
unknown170(v123)
</pre>
That would load the picture resource number 10 as a 256-color picture resource.
Any variable can be used with unknown170, v123 was just chosen for this example.
===256-color picture resource format===
<pre>
Data    : Simply a raw 256-color 160x168 size picture, one byte per pixel.
Length  : Always 160*168*1 = 26880 bytes.
Palette : Isn't saved in the file. Uses the default VGA palette.
</pre>
As AGI256 was hacked to a v2.936 AGI interpreter no compression is used on
the picture resource data (Only v3 AGI interpreters use compression).
==AGI256-2==
AGI256-2 is an extension to AGI256 to further add 256-color view support.
The AGI256-2 hack was originally made by Brian Provinciano.
AGI256-2 uses a modified cel blitting routine so that it can handle view data
that isn't run length encoded and has 256 colors.
===256-color view resource format===
Like the v2 AGI view resources but with the following differences:
* Starts with bytes 0x0F, 0xF0
** Can be used for detecting 256-color view resources
* Doesn't support mirroring
** Mirroring/Transparency byte is used solely for choosing the transparent color
* Cel data is not run length encoded
** Cel data is raw 256-color data, one byte per pixel
*** NOTE though that 0x00 for a new line is still supported
417

edits