		    
		    
		    Autodesk Animator Pro File Formats


This paper details each of the file formats defined by Autodesk Animator 
Pro. Formats supported by Autodesk Animator Pro but defined by another party, 
such as GIF and TIFF files, are not described in this document.

The files created by Autodesk Animator Pro are a superset of those created 
by Autodesk Animator". In some cases, the Autodesk Animator Pro formats are 
identical with the older Autodesk Animator format. In other cases, new data 
fields or data compression techniques have been added to the file. 

All two-byte and four-byte data values in Autodesk Animator Pro files are 
stored in Intel-style order, the same as they would appear in memory on an 
8086 machine.


======== Common Hierarchical Chunked File Structure ======== 

In general, Autodesk Animator Pro files contain one or more chunks of 
information. Conceptually, a chunk is a combination of control information 
and data. The most common Autodesk Animator Pro file format is a header 
structure followed by hierarchical data chunks. 

Every chunk begins with a header of at least 6 bytes. The first four bytes 
contain the length of the chunk (including the header itself, and also 
including the length of all subordinate chunks, if any). The next two bytes 
are an identifier word that describes the type of data in the chunk. Some 
chunks have headers longer than six bytes, but the size and identifier fields 
always occupy the first six bytes of the header. Chunks are always an even 
number of bytes in length, even where this requires an extra byte at the end.

The Autodesk Animator Pro animation file is a good example of a 
hierarchical chunked file structure. The data in an animation file is 
arranged as follows:
	
	animation file:
		optional prefix chunk: 
			settings chunk
			cel placement chunk
		frame 1 chunk:
			postage stamp chunk:
				postage stamp data
			color palette chunk
			pixel data chunk
		frame 2 chunk:
			pixel data chunk
		frame 3 chunk:
			color palette chunk
			pixel data chunk
		frame 4 chunk: 
			color palette chunk
		ring frame chunk:
			color palette chunk
			pixel data chunk

You might encounter types of chunks not described in this document. Ignore 
them. The size fields in the chunk headers make it easy to skip an entire 
unrecognized chunk.


======== Autodesk Animator Pro Flic Files (FLC) ======== 

This is the main animation file format created by Autodesk Animator Pro. The 
file contains a 128-byte header, followed by an optional prefix chunk, 
followed by one or more frame chunks. 

The prefix chunk, if present, contains Autodesk Animator Pro settings 
information, cel placement information, and other auxiliary data.

A frame chunk exists for each frame in the animation. In addition, a ring 
frame follows all the animation frames. Each frame chunk contains color 
palette information and/or pixel data.

The ring frame contains delta-compressed information to loop from the last 
frame of the flic back to the first. It can be helpful to think of the ring 
frame as a copy of the first frame, compressed in a different way. All flic 
files contain a ring frame, including a single-frame flic.


The FLC File Header

A .flc file begins with a 128-byte header, described below. All lengths and 
offsets are in bytes. All values stored in the header fields are unsigned.

Offset  Length  Name            Description
0       4       size            The size of the entire animation file, 
				including this file header.
4       2       magic           File format identifier. Always hex AF12.
6       2       frames          Number of frames in the flic. This count does 
				not include the ring frame. Flic files have a 
				maximum length of 4000 frames.
8       2       width           Screen width in pixels.
10      2       height          Screen height in pixels.
12      2       depth           Bits per pixel (always 8).
14      2       flags           Set to hex 0003 after ring frame is written 
				and flic header is updated. This indicates 
				that the file was properly finished and 
				closed.
16      4       speed           Number of milliseconds to delay between each 
				frame during playback.
20      2       reserved        Unused word, set to 0.
22      4       created         The MSDOS-formatted date and time of the 
				file's creation.
26      4       creator         The serial number of the Autodesk Animator 
				Pro program used to create the file. If the 
				file was created by some other program using 
				FlicLib, this value is hex 464C4942 ("FLIB").
30      4       updated         The MSDOS-formatted date and time of the 
				file's most recent update.
34      4       updater         Indicates who last updated the file. See the 
				description of creator.
38      2       aspectx         The x-axis aspect ratio at which the file was 
				created.
40      2       aspecty         The y-axis aspect ratio at which the file was 
				created. Most often, the x:y aspect ratio is 
				1:1. A 320x200 flic has a ratio of 6:5.
42      38      reserved        Unused space, set to zeroes.
80      4       oframe1         Offset from the beginning of the file to the 
				first animation frame chunk.
84      4       oframe2         Offset from the beginning of the file to the 
				second animation frame chunk. This value is 
				used when looping from the ring frame back to 
				the second frame during playback.
88      40      reserved        Unused space, set to zeroes.


The FLC Prefix Chunk

An optional prefix chunk can immediately follow the animation file header. 
This chunk is used to store auxiliary data that is not directly involved in 
the animation playback. The prefix chunk starts with a 6-byte header, as 
follows:

Offset  Length  Name            Description
0       4       size            The size of the prefix chunk, including this 
				header and all subordinate chunks that 
				follow.
4       2       type            Prefix chunk identifier. Always hex F100.

Note: Programs other than Autodesk Animator Pro should never need to create 
flic files that contain a prefix chunk. Programs reading a flic file should 
skip the prefix chunk by using the size value in the prefix header to read 
and discard the prefix, or by seeking directly to the first frame using the 
oframe1 field from the file header.


The FLC Frame Chunks

Frame chunks contain the pixel and color data for the animation. A frame 
chunk can contain multiple subordinate chunks, each containing a different 
type of data for the current frame. Each frame chunk starts with a 16-byte 
header that describes the contents of the frame, as follows:

Offset  Length  Name            Description
0       4       size            The size of the frame chunk, including this 
				header and all subordinate chunks that 
				follow.
4       2       type            Frame chunk identifier. Always hex F1FA.
6       2       chunks          Number of subordinate chunks in the frame 
				chunk.
8       8       reserved        Unused space, set to zeroes.


Immediately following the frame header are the frame's subordinate data 
chunks. When the chunks count in the frame header is zero, it indicates that 
this frame is identical to the previous frame. This implies that no change is 
made to the screen or color palette, but the appropriate delay is still 
inserted during playback.


Each data chunk within a frame chunk is formatted as follows:

Offset  Length  Name    Description
0       4       size    The size of the chunk, including this header.
4       2       type    Data type identifier.
6     (size-6)  data    The color or pixel data.


The type values in the chunk headers indicate what type of graphics data the 
chunk contains and which compression method was used to encode the data. The 
following values (and their associated mnemonic names) are currently found in 
frame data chunks:

Value   Name            Description
4       FLI_COLOR256    256-level color palette info
7       FLI_SS2         Word-oriented delta compression
11      FLI_COLOR       64-level color palette info
12      FLI_LC          Byte-oriented delta compression
13      FLI_BLACK       Entire frame is color index 0
15      FLI_BRUN        Byte run length compression
16      FLI_COPY        No compression
18      FLI_PSTAMP      Postage stamp sized image


The following sections describe each of these data encoding methods in 
detail.

Chunk Type 4 (FLI_COLOR256): 256-Level Color

The data in this chunk is organized in packets. The first word following the 
chunk header is a count of the number of packets in the chunk. Each packet 
consists of a one-byte color index skip count, a one-byte color count, and 
three bytes of color information for each color defined.

At the start of the chunk, the color index is assumed to be zero. Before 
processing any colors in a packet, the color index skip count is added to 
the current color index. The number of colors defined in the packet is 
retrieved. A zero in this byte indicates 256 colors follow. The three bytes 
for each color define the red, green, and blue components of the color in 
that order. Each component can range from 0 (off) to 255 (full on). 

The data to change colors 2,7,8, and 9 would appear as follows:

2                                  ; two packets 
2,1,r,g,b                          ; skip 2, change 1 
4,3,r,g,b,r,g,b,r,g,b              ; skip 4, change 3


Chunk Type 11 (FLI_COLOR): 64-Level Color

This chunk is identical to FLI_COLOR256 except that the values for the red, 
green, and blue components are in the range of 0-63 instead of 0-255.


Chunk Type 13 (FLI_BLACK): No Data

This chunk has no data following the header. All pixels in the frame are set 
to color index 0.


Chunk Type 16 (FLI_COPY): No Compression

This chunk contains an uncompressed image of the frame. The number of pixels 
following the chunk header is exactly the width of the animation times the 
height of the animation. The data starts in the upper left corner with pixels 
copied from left to right and then top to bottom. This type of chunk is 
created when the preferred compression method (SS2 or BRUN) generates more 
data than the uncompressed frame imagea relatively rare situation.


Chunk Type 15 (FLI_BRUN): Byte Run Length Compression

This chunk contains the entire image in a compressed format. Usually this 
chunk is used in the first frame of an animation, or within a postage stamp 
image chunk. 

The data is organized in lines. Each line contains packets of compressed 
pixels. The first line is at the top of the animation, followed by 
subsequent lines moving downward. The number of lines in this chunk is given 
by the height of the animation.

The first byte of each line is a count of packets in the line. This value is 
ignored; it is a holdover from Autodesk Animator. It is possible to generate 
more than 255 packets on a line. The width of the animation is now used to 
drive the decoding of packets on a line; continue reading and processing 
packets until width pixels have been processed, then proceed to the next 
line.

Each packet consists of a type/size byte, followed by one or more pixels. If 
the packet type is negative, it is a count of pixels to be copied from the 
packet to the animation image. If the packet type is positive, it contains a 
single pixel that is to be replicated; the absolute value of the packet type 
is the number of times the pixel is to be replicated.


Chunk Type 12 (FLI_LC): Byte Aligned Delta Compression

This chunk contains the differences between the previous frame and this 
frame. This compression method was used by Autodesk Animator, but is not 
created by Autodesk Animator Pro. This type of chunk can appear in an 
Autodesk Animator Pro file; however, if the file was originally created by 
Autodesk Animator, then some (but not all) frames were modified using 
Autodesk Animator Pro. 

The first 16-bit word following the chunk header contains the position of the 
first line in the chunk. This is a count of lines (down from the top of the 
image) that are unchanged from the prior frame. The second 16-bit word 
contains the number of lines in the chunk. The data for the lines follows 
these two words.

Each line begins with two bytes. The first byte contains the starting x 
position of the data on the line, and the second byte contains the number of 
packets for the line. Unlike BRUN compression, the packet count is 
significant (because this compression method is only used on 320x200 flics).

Each packet consists of a single byte column skip, followed by a packet 
type/size byte. If the packet type is positive, it is a count of pixels to be 
copied from the packet to the animation image. If the packet type is 
negative, it contains a single pixel which is to be replicated; the absolute 
value of the packet type gives the number of times the pixel is to be 
replicated.

Note: The negative/positive meaning of the packet type bytes in LC 
compression is reversed from that used in BRUN compression. This gives better 
performance during playback.


Chunk Type 7 (FLI_SS2): Word Aligned Delta Compression

This format contains the differences between consecutive frames. This is the 
format most often used by Autodesk Animator Pro for frames other than the 
first frame of an animation. It is similar to the line coded delta (LC) 
compression, but is word oriented instead of byte oriented. The data is 
organized into lines and each line is organized into packets.

The first word in the data following the chunk header contains the number of 
lines in the chunk. Each line can begin with some optional words that are 
used to skip lines and set the last byte in the line for animations with odd 
widths. These optional words are followed by a count of the packets in the 
line. The line count does not include skipped lines.

The high order two bits of the word is used to determine the contents of the 
word.

Bit 15  Bit 14  Meaning
0       0       The word contains the packet count. The packets follow this 
		word. The packet count can be zero; this occurs when only the 
		last pixel on a line changes.
1       0       The low order byte is to be stored in the last byte of the 
		current line. The packet count always follows this word.
1       1       The word contains a line skip count. The number of lines 
		skipped is given by the absolute value of the word. This word 
		can be followed by more skip counts, by a last byte word, or 
		by the packet count.

The packets in each line are similar to the packets for the line coded chunk. 
The first byte of each packet is a column skip count. The second byte is a 
packet type. If the packet type is positive, the packet type is a count of 
words to be copied from the packet to the animation image. If the packet type 
is negative, the packet contains one more word that is to be replicated. The 
absolute value of the packet type gives the number of times the word is to be 
replicated. The high and low order byte in the replicated word do not 
necessarily have the same value.


Chunk Type 18 (FLI_PSTAMP): Postage Stamp Image

This chunk type holds a postage stampa reduced-size imageof the frame. It 
generally appears only in the first frame chunk within a flic file. 

When creating a postage stamp, Autodesk Animator Pro considers the ideal size 
to be 100x63 pixels. The actual size varies as needed to maintain the same 
aspect ratio as the original.

The pixels in a postage stamp image are mapped into a six-cube color space, 
regardless of the color palette settings for the full frame image. A six-cube 
color space is formed as follows:
	
	start at palette entry 0
	for red = 0 thru 5
		for green = 0 thru 5
			for blue = 0 thru 5
				palette_red   = (red   * 256)/6 
				palette_green = (green * 256)/6
				palette_blue  = (blue  * 256)/6
				move to next palette entry
			end for blue
		end for green
	end for red

Any arbitrary RGB value (where each component is in the range of 0-255) can 
be mapped into the six-cube space using this formula:

((6*red)/256)*36 + ((6*green)/256)*6 + ((6*blue)/256)


When a frame data chunk has been identified as a postage stamp, the header 
for the chunk contains more fields than just size and type. The full postage 
stamp chunk header is defined as follows:

Offset  Length  Name            Description
0       4       size            The size of the postage stamp chunk, 
				including this header.
4       2       type            Postage stamp identifier; always 18.
6       2       height          Height of the postage stamp image, in pixels.
8       2       width           Width of the postage stamp image, in pixels.
10      2       xlate           Color translation type; always 1, indicating 
				six-cube color space.


Immediately following this header is the postage stamp data. The data is 
formatted as a chunk with standard size/type header. The type will be one of 
the following:

Value   Name            Description
15      FPS_BRUN        Byte run length compression
16      FPS_COPY        No compression
18      FPS_XLAT256     Six-cube color xlate table

The FPS_BRUN and FPS_COPY types are identical to the FLI_BRUN and -FLI_COPY 
encoding methods described above.

The FPS_XLAT256 type indicates that the chunk contains a 256-byte color 
translation table instead of pixel data. To process this type of postage 
stamp, read the pixel data for the full-sized frame image, and translate its 
pixels into six-cube space using a lookup in the 256-byte color translation 
table. This type of postage stamp appears when the size of the animation 
frames is smaller than the standard 100x63 postage stamp size.


======== Autodesk Animator Flic Files (FLI) ======== 

This animation file format is limited to 320x200 resolution. It is the main 
animation file format of Autodesk Animator, and is still used by Autodesk 
Animator Pro for creating 320x200 animations. The file structure is very 
similar to that of a .flc file. A .fli file does not contain a prefix chunk, 
and does not use FLI_PSTAMP or FLI_SS2 data encoding in the frame chunks.


The FLI File Header

The file header for a .fli file is a subset of the .flc file header. It is 
defined as follows:

Offset  Length  Name            Description
0       4       size            The size of the entire animation file, 
				including this file header.
4       2       magic           File format identifier. Always hex AF11.
6       2       frames          Number of frames in the flic. This count does 
				not include the ring frame. FLI files have a 
				maximum length of 4000 frames.
8       2       width           Screen width in pixels. This is always 320 in 
				a .fli file.
10      2       height          Screen height in pixels. This is always 200 
				in a .fli file.
12      2       depth           Bits per pixel (always 8).
14      2       flags           Always zero in a .fli file.
16      2       speed           Number of jiffies to delay between each frame 
				during playback. A jiffy is 1/70 of a second.
18      110     reserved        Unused space, set to zeroes.


The FLI Frame Chunks

One or more frame chunks immediately follow the .fli file header. The frame 
chunks in a .fli file are identical to those in a .flc file, except that 
postage stamp image (FLI_PSTAMP) and word-runlength-compression (FLI_SS2) 
data chunks never appear in .fli files.


======== Animation Cel Files (CEL) ======== 

Cel files contain one or more frames of image data. Both Autodesk Animator 
Pro and Autodesk Animator produce .cel files, but each uses a different file 
format.

To process a .cel file for input, read the first 2 bytes of the file. If 
they are hex 9119, the file is an Autodesk Animator .cel file. If the first 
two bytes are not 9119, it is an Autodesk Animator Pro .cel file.


Autodesk Animator Pro CEL Files

An Autodesk Animator Pro .cel file is identical to a .flc file in all 
respects. A .cel file should have a Celdata chunk in the file prefix chunk 
that describes the x,y placement of the cel. If the Celdata placement chunk 
is not present, assume a placement of 0,0. The Celdata chunk description is 
as follows:

Offset  Length  Name            Description
0       4       size            Size of chunk.
4       2       type            Always 3.
6       2       center-x        X coordinate of cel center.
8       2       center-y        Y coordinate of cel center.
10      2       stretch-x       Amount added to cel width when stretching.
12      2       stretch-y       Amount added to cel height when stretching.
14      2       rot-x           Rotation about x axis (always 0 currently).
16      2       rot-y           Rotation about y axis (always 0 currently).
18      2       rot-z           Rotation about z axis. (0 to 5760 used to 
				represent 0-360 degrees (i.e., measured as 
				degrees times 16).
20      2       cur_frame       Current frame in .cel file.
22      2       reserve0        Set to 0.
26      2       tcolor          Transparent color in cel.
28      38      reserved        Set to 0.


Autodesk Animator CEL Files

Autodesk Animator also produces .cel files. These are still-picture files, 
not the multi-frame files Autodesk Animator Pro uses. A .cel file from 
Autodesk Animator is identical to a .pic file from Autodesk Animator in all 
respects.


======== Picture Files (PIC) ======== 

Picture files contain still images in an uncompressed format. Both Autodesk 
Animator and Autodesk Animator Pro produce .pic files. The file formats are 
different; Autodesk Animator Pro produces a hierarchical chunked file while 
Autodesk Animator file is a simpler fixed format. These formats are detailed 
in the following sections.

To process a .pic file for input, read the first 2 bytes of the file. If they 
are hex 9119, the file is an Autodesk Animator .pic format file. If the first 
two bytes are not 9119, it is an Autodesk Animator Pro .pic file.


Autodesk Animator Pro PIC Files

Autodesk Animator Pro uses this format to store a single-frame picture image 
or bitmap. This format description applies to both .pic and .msk files. The 
file begins with a 64-byte header defined as follows:

Offset  Length  Name            Description
0       4       size            The size of the file, including this header.
4       2       magic           File format identifier. Always hex 9500.
6       2       width           The width of the image, in pixels.
8       2       height          The height of the image, in pixels.
10      2       xcoord          The X coordinate; typically zero. (See note 
				below).
12      2       ycoord          The Y coordinate; typically zero. (See note 
				below).
14      4       userid          An arbitrary 4-byte value; generally zero. Do 
				not count on any particular value in this 
				field. Set this field to zero when creating a 
				file.
18      1       depth           The number of bits per pixel. This is 8 for 
				.pic files and 1 for .msk files.
19      45      reserved        Unused space; set to zeroes.

Note:  The xcoord and ycoord values in a .pic file header are typically 
zero. Non-zero values indicate that the file contains a rectangle from 
within a larger picture. In this case, the xcoord and ycoord values 
represent the relation of the saved rectangle to the full image. These 
values can be safely ignored for most purposes.


Following the file header are the data chunks for the image. Each data chunk 
within a .pic or .msk file is formatted as follows:

Offset  Length  Name            Description
0       4       size            The size of the chunk, including this header.
4       2       type            Data type identifier.
6     (size-6)  data            The color or pixel data.


The type values in the chunk headers indicate what type of graphics data the 
chunk contains. The following values (and their associated mnemonic names) 
are currently found in .pic/.msk data chunks:

Value   Name            Description
0       PIC_CMAP        Color palette info
1       PIC_BYTEPIXELS  Byte-per-pixel image data
2       PIC_BITPIXELS   Bit-per-pixel mask data


In a PIC_CMAP chunk, the first 2-byte word is a version code; currently this 
is set to zero. Following the version word are all 256 palette entries in 
rgbrgb... order. Each of the r, g, and b components is a single byte in the 
range of 0-255. This type of chunk appears in .pic files; there is generally 
no color map chunk in a .msk file.

In a PIC_BYTEPIXELS chunk, the image data appears immediately following 
the 6-byte chunk header. The data is stored as one byte per pixel, in 
left-to-right, top-to-bottom sequence. This type of chunk appears in .pic 
files.

In a PIC_BITPIXELS chunk, the bitmap data appears immediately following the 
6-byte chunk header. The data is stored as bits packed into bytes such that 
the leftmost bits appear in the high-order positions of each byte. The bits 
are stored in left-to-right, top-to-bottom sequence. When the width of the 
bitmap is not a multiple of 8, there are unused bits in the low-order 
positions of the last byte on each line. The number of bytes per line is 
((width+7)/8). This type of chunk appears in .msk files. 


Autodesk Animator PIC Files

Autodesk Animator uses this format to store a single-frame picture image. 
This format description applies to both .pic and .cel files. The file begins 
with a 32-byte header, as follows:

Offset  Length  Name            Description
0       2       type            File type identifier. Always hex 9119.
2       2       width           Width of image. Always 320 in a .pic file; 
				may be any value in a .cel file.
4       2       height          Height of image. Always 200 in a .pic file; 
				may be any value in a .cel file.
6       2       xcoord          X coordinate for upper left corner of the 
				image. Always zero in a .pic file; may be 
				non-zero in a .cel file.
8       2       ycoord          Y coordinate for upper left corner of the 
				image. Always zero in a .pic file; may be 
				non-zero in a .cel file.
10      1       depth           Number of bits per pixel; always 8.
11      1       compress                Compression flag; always zero.
12      4       datasize                Size of the image data in bytes.
16      16      reserved                Unused space; set to zeroes.


Immediately following the header is the color map. It contains all 256 
palette entries in rgbrgb... order. Each of the r, g, and b components is a 
single byte in the range of 0-63. Following the color palette is the image 
data, one byte per pixel. The image data is stored in left-to-right, 
top-to-bottom sequence.


======== Mask Data Files (MSK) ======== 

Mask files contain a bitmap image. Both Autodesk Animator Pro and Autodesk 
Animator produce .msk files, but the formats are different.

To process a .msk file for input, check the file size. If it is exactly 8000 
bytes, the file is an Autodesk Animator .msk file. If the file is any other 
size, it is an Autodesk Animator Pro .msk file.


Autodesk Animator Pro MSK Files

An Autodesk Animator Pro .msk file is identical to an Autodesk Animator Pro 
.pic file. It has a pixel depth of 1.


Autodesk Animator MSK Files

A .msk file created by Autodesk Animator is exactly 8000 bytes long. There 
is no file header or other control information in the file. It contains the 
image bit map, 1 bit per pixel, with the leftmost pixels packed into the 
high order bits of each byte. The size of the image is fixed at 320x200. The 
image is stored in left-to-right, top-to-bottom sequence.


======== Color Map Files (COL) ======== 

A .col file stores the RGB values for entries in the color palette. Both 
Autodesk Animator Pro and Autodesk Animator produce .col files, but the 
formats are different.

To process a .col file for input, check the file size. If it is exactly 768 
bytes, the file is an Autodesk Animator .col file. If the file is any other 
size, it is an Autodesk Animator Pro .col file.


Autodesk Animator Pro COL Files

An Autodesk Animator Pro .col file stores color palette information. The file 
begins with an 8-byte header defined as follows:

Offset  Length  Name            Description
0       4       size            The size of the file, including this header.
4       2       magic           File format identifier. Always hex B123.
6       2       version         The version of color storage format. 
				Currently set to zero, indicating 256-level 
				color data in each r,g,b component.

Following the file header are palette entries in rgbrgb... order. Each of the 
r, g, and b components is a single byte in the range of 0-255. Generally, 
there is data for 256 palette entries, but this cannot be assumed. The actual 
number of palette entries is ((size-8)/3); if this value is not an even 
multiple of three, the file is corrupted.


Autodesk Animator COL Files 

A .col file created by Autodesk Animator is exactly 768 bytes long. There is 
no file header or other control information in the file. The RGB values for 
all 256 palette entries is stored in rgbrgb... sequence. Each of the r, g, 
and b values is in the range of 0-63.


======== Polygon Files (PLY) ======== 

A .ply file holds a set of points that describe a polygon. Both Autodesk 
Animator Pro and Autodesk Animator create .ply files. The file format is the 
same for both.

A .ply file starts with an 8-byte header, as follows:

Offset  Length  Name            Description
0       2       points          Count of points in the file.
2       4       reserved        Unused space; set to zero.
6       1       closed          Closed-shape flag. If 1, there is an implied 
				connection between the last point and the 
				first. If zero, the shape is not closed.
7       1       magic           File format identifier. Always hex 99.

The points data follows the file header. Each point is described with three 
16-bit integers, representing the x, y, and z coordinates of each point. 
The z coordinates are always zero.


======== Tween Data Files (TWE) ======== 

A .twe file holds information about a tweening operation set up via the 
Tween menus. The information includes the starting and ending shapes, and 
the optional user-specified links between the shapes. Autodesk Animator 
Pro creates tween files.

A .twe file begins with an 8-byte header defined as follows:

Offset  Length  Name            Description
0       2       magic           File format identifier. Always hex 1995.
2       2       version         The file format version; always zero.
4       4       tcount          The number of tween shapes in the file; 
				always 2.
8       8       reserved        Unused space; set to zeroes.
16      4       linkcount       The number of link entries in the file.


Immediately following the file header are the link entries. If the linkcount 
value is zero there are no links. Each link entry is a pair of 32-bit 
integers. The first value in each pair is the index of the point in the 
first shape, and the second value is the index of the point in the ending 
shape. For example, a link value of 2,7 says to link the second 
starting-shape point to the seventh ending-shape point.

Following the link entries is the data block that describes the starting 
shape, then the data block that describes the ending shape. The format of 
these blocks is identical to that of the polygon (.ply) file, including file 
header data. In other words, they appear as if a pair of polygon files are 
embedded in the tween file at this point.


======== Optics Menu Settings Files (OPT) ========

An .opt file holds information about an optics operation set up via the 
Optics menus. Both Autodesk Animator Pro and Autodesk Animator create .opt 
files. The file format is the same for both.

An .opt file starts with a 4-byte header, as follows:

Offset  Length  Name    Description
0       2       magic   File type identifier. Always hex 1A3F.
2       2       count   Number of records in the file.


Following the file header are optics records of 50 bytes each. A record is 
generated for each click on Continue Move in the Optics menu. The move 
records are formatted as follows:

Offset  Length  Name            Description
0       4       link            In the file, this field is always zero. In 
				memory, it's a pointer to the next move 
				record.
4       6       spincenter      The x,y,z coordinates of the spin center 
				point; three 16-bit values.
10      6       spinaxis        The x,y,z coordinates of the spin axis; three 
				16-bit values.
16      6       spinturns       The x,y,z coordinates of the spin turns; 
				three 16-bit values.
22      4       spininter       Intermediate turns. Two 16-bit values. These 
				are values for a conjugation matrix that 
				corresponds to spin axis.
26      6       sizecenter      The x,y,z coordinates of the size center 
				point; three 16-bit values.    
32      2       xmultiplier     Determines (along with xdivisor) how to scale 
				along x dimension.
34      2       xdivisor        Determines (along with xmultiplier) how to 
				scale along x dimension.
36      2       ymultiplier     Determines (along with ydivisor) how to scale 
				along y dimension.
38      2       ydivisor        Determines (along with ymultiplier) how to 
				scale along y dimension.
40      2       bothmult        Like xmultiplier, but applied to both 
				dimensions.
42      2       bothdiv         Like xdivisor, but applied to both 
				dimensions.
44      6       linearmove      The x,y,z offset for a linear move; three 
				16-bit values.


========  Internal Usage Files (REC, SET, CFG, GLV, MU)  ========

Each of these file types is created by Autodesk Animator Pro to store 
internal data between sessions. These files must not be touched by other 
applications.

REC files store macros. Autodesk Animator Pro .rec files are not the same as 
the .rec files documented with Autodesk Animator.

SET files store internal settings information; they are created by the 
Quit/Save menu, and by the Save Default Settings menu.

CFG files store internal configuration information, such as the video driver 
and mode.

GLV files store Poco Global Variables. The data is stored as a series of 
nullterminated strings, and must not be modified using a normal text editor.

MU files store menu text, prompts, error messages, and so on, customized to 
the proper native language. The data is stored as normal ASCII text, and 
must not be modified in any way.
