home *** CD-ROM | disk | FTP | other *** search
- Animator Pro File Formats
-
-
- This chapter details each of the file formats defined by Animator
- Pro. Formats supported by 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 the original Autodesk Animator. In some cases
- the Animator Pro formats are identical with the older 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 Animator Pro files are
- stored in Intel-style order, the same as they would appear in
- memory on an 80x86 machine.
-
-
- Common Hierarchial Chunked File Structure
-
-
- In general, Animator Pro files contain one or more chunks of
- information. Conceptually, a chunk is a combination of control
- information and data. The most common Animator Pro file format
- is a header structure followed by hierarchial 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 which
- 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.
-
- The Animator Pro animation file is a good example of a hierarchial
- 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
-
- It is possible that new types of chunks not described in this
- document will be added to animation files in the future. We
- recommend that you quietly ignore unknown chunk types you
- encounter during animation playback. The size fields in the
- chunk headers make it easy to skip an entire unrecognized chunk.
-
-
- FLC - Animator Pro Flic Files
-
-
- This is the main animation file format created by 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 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 will 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.
- FLC 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 Animator Pro
- program used to create the file. If the
- file was created by some other program
- using the FlicLib development kit, 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
- will be 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 may immediately follow the animation
- file header. This chunk is used to store auxiliary data which is
- not directly involved in the animation playback. The prefix
- chunk starts with a 16-byte header (identical in structure to a
- frame 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.
-
- 6 2 chunks Number of subordinate chunks in the
- prefix chunk.
-
- 8 8 reserved Unused space, set to zeroes.
-
- To determine whether a prefix chunk is present, read the 16-byte
- header following the file header. If the type value is hex F100,
- it's a prefix chunk. If the value is hex F1FA it's the first
- frame chunk, and no prefix chunk exists.
-
- Note
-
- Programs other than 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 may 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:
-
- 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 image; a 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 the original 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 consist 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 which 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 the original
- Animator, but is not created by Animator Pro. This type of chunk
- can appear in an Animator Pro file, however, if the file was
- originally created by Animator, then some (but not all) frames
- were modified using 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) which 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
- 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 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 which 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 stamp -- a reduced-size image --
- of the frame. It generally appears only in the first frame chunk
- within a flic file.
-
- When creating a postage stamp, Animator Pro considers the ideal
- size to be 100x63 pixels. The actual size will vary 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 the 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:
-
- 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.
-
-
- FLI - Original Animator Flic Files
-
-
- This animation file format is limited to 320x200 resolution. It
- is the main animation file format of the original Animator, and
- is still used by 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.
-
-
- CEL - Animation Cel Files
-
-
- CEL files contain one or more frames of image data. Both Animator
- Pro and the original 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 original Animator CEL
- file. If the first two bytes are not 9119, it is an Animator Pro
- CEL file.
-
-
- Animator Pro CEL Files
-
-
- An 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 which describes the x,y placement of the CEL. If
- the Celdata placement chunk is not present, assume a placement of
- 0,0.
-
-
- Original Animator CEL Files
-
-
- The original Animator also produced CEL files. These were
- still-picture files, not the multi-frame files Animator Pro now
- uses. A CEL file from the original Animator is identical to a
- PIC file from the original Animator in all respects.
-
-
- PIC - Picture Files
-
-
- PIC files contain still images in an uncompressed format. Both
- the original Animator and Animator Pro produce PIC files. The
- file formats are different; Animator Pro produces a hierarchial
- chunked file, while the original 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 original Animator PIC
- format file. If the first two bytes are not 9119, it is an
- Animator Pro PIC file.
-
-
- Animator Pro PIC Files
-
-
- 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 will typically
- be 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 will generally be 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, topD 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-toD bottom sequence. When the width of the
- bitmap is not a multiple of 8, there will be unused bits in the
- lowD 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.
-
-
- Original Animator PIC Files
-
-
- The original 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.
-
-
- MSK - Mask Data Files
-
-
- MSK files contain a bitmap image. Both Animator Pro and the
- original 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 original Animator MSK file.
- If the file is any other size, it is an Animator Pro MSK file.
-
-
- Animator Pro MSK Files
-
-
- An Animator Pro MSK file is identical to an Animator Pro PIC
- file. It will have a pixel depth of 1.
-
-
- Original Animator MSK Files
-
-
- A MSK file created by the original 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
- left-to-right, top-to-bottom.
-
-
- COL - Color Map Files
-
-
- A COL file stores the rgb values for entries in the color palette.
- Both Animator Pro and the original 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 original Animator COL file. If
- the file is any other size, it is an Animator Pro COL file.
-
-
- Animator Pro COL Files
-
-
- An 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 will be 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.
-
-
- Original Animator COL Files2
-
-
- A COL file created by the original 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.
-
-
- PLY - Polygon Files
-
-
- A PLY file holds a set of points that describe a polygon. Both
- Animator Pro and the original 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.
-
-
- TWE - Tween Data Files
-
- 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 userD specified links between the
- shapes. 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. (IE, 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.
-
-
- OPT - Optics Menu Settings Files
-
-
- An OPT file holds information about an optics operation set up
- via the Optics menus. Both Animator Pro and the original
- 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 Animator Pro to store
- internal data between sessions. These files must not be touched
- by other applications.
-
- REC files store macros. Animator Pro REC files are not the same
- as the REC files documented with the original 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, etc,
- customized to the proper native language. The data is stored as
- normal ASCII text, and must not be modified in any way.
-
- End of document. Below are a few comments that hold text we may
- want to suck back into the document some day.
- When the prefix chunk is present, it contains a fixed header
- structure, followed by one or more prefix sub-chunks. The prefix
- chunk header is defined as follows:
-
- The following constants identify the sub-chunks within a prefix
- chunk.
-
- enum {
- FP_FREE = 0,
- FP_FLIPATH = 1,
- FP_VSETTINGS = 2,
- FP_CELDATA = 3,
- };
-
-
- Format for the optional Prefix chunk:
-
- The prefix chunk at present contains:
- A settings chunk. This is the same thing as a settings file but
- as a chunk in a flic. This is how the load settings from a flic
- is implemented. This is present in flics but not cels. A settings
- chunk has sub chunks for things like the paths in the file
- requestors, optics settings, etc.
-
- A Celdata chunk. This chunk has the positioning info for a fli
- used as a cel. This is usually only present in cel files.