Copyright (c) Hyperion Entertainment and contributors.
ANBM IFF Animated Bitmap
Jump to navigation
Jump to search
Animated bitmap form (Framer, Deluxe Video) TITLE: Form ANBM (animated bitmap form used by Framer, Deluxe Video) (note from the author) The format was designed for simplicity at a time when the IFF standard was very new and strange to us all. It was not designed to be a general purpose animation format. It was intended to be a private format for use by DVideo, with the hope that a more powerful format would emerge as the Amiga became more popular. I hope you will publish this format so that other formats will not inadvertantly conflict with it. PURPOSE: To define simple animated bitmaps for use in DeluxeVideo. In Deluxe Video objects appear and move in the foreground with a picture in the background. Objects are "small" bitmaps usually saved as brushes from DeluxePaint and pictures are large full screen bitmaps saved as files from DeluxePaint. Two new chunk headers are defined: ANBM and FSQN. An animated bitmap (ANBM) is a series of bitmaps of the same size and depth. Each bitmap in the series is called a frame and is labeled by a character, 'a b c ...' in the order they appear in the file. The frame sequence chunk (FSQN) specifies the playback sequence of the individual bitmaps to achieve animation. FSQN_CYCLE and FSQN_TOFRO specify two algorithmic sequences. If neither of these bits is set, an arbitrary sequence can be used instead. ANBM - identifies this file as an animated bitmap .FSQN - playback sequence information .LIST ILBM - LIST allows following ILBMs to share properties ..PROP ILBM - properties follow ...BMHD - bitmap header defines common size and depth ...CMAP - colormap defines common colors ..FORM ILBM - first frame follows ..BODY - the first frame . - FORM ILBM and BODY for each remaining frame . . Chunk Description: The ANBM chunk identifes this file as an animated bitmap Chunk Spec: #define ANBM MakeID('A','N','B','M') Disk record: none Chunk Description: The FSQN chunk specifies the frame playback sequence Chunk Spec: #define FSQN MakeID('F','S','Q','N') /* Flags */ #define FSQN_CYCLE 0x0001 /* Ignore sequence, cycle a,b,..y,z,a,b,.. */ #define FSQN_TOFRO 0x0002 /* Ignore sequence, cycle a,b,..y,z,y,..a,b, */ /* Disk record */ typedef struct { WORD numframes; /* Number of frames in the sequence */ LONG dt; /* Nominal time between frames in jiffies */ WORDBITS flags; /* Bits modify behavior of the animation */ UBYTE sequence[80]; /* string of 'a'..'z' specifying sequence */ } FrameSeqn; Supporting Software: DeluxeVideo by Mike Posehn and Tom Case for Electronic Arts Thanks, Mike Posehn