Gold Disk Animation
- Company: Gold Disk Inc.
- Extensions: .awi, .awm
- Software: Animation Works
This format is essentially a saved animation project resembling a simplified version of Macromedia Flash animation. AWI files contain inside both assets (images and sound) plus commands requiring to present an animation (e.g. which pictures to show and how to move at which time).
AWI files are organised as nested chunks where chunks with uppercase names start with 32-bit chunk size and contain other chunks and chunks with lowercase names that contain chunk-specific amount of data (or none at all). E.g. nndn should be the last lowercase-named chunk and have no other data associated with it.
Overall container structure is the following:
- root chunk is called
GDAW - it should contain
VERS,PREF,RSRCandSEENchunks RSRCchunk contains assets (RLE4,RLE8,PALT,ACTR,BKGD,WIPEandSWND)SEENchunks starts with some metadata chunks followed byFRAMchunk that contains actual events (in form of??EVchunks).
And here are most common metadata chunks:
psnmcontains object name encoded as Pascal string (one byte of string length followed by string bytes)ps??in general is followed by Pascal stringpt??is followed by two 16-bit numbers (e.g. image dimensions or its position)tz??contains DCL-compressed image or audio data (more about it below)by??is followed by a byte valuewd??is followed by 16-bit numberdw??is followed by 32-bit number (usually some size property)td??is followed by 32-bit data size and data (e.g. palette or transition parameters)nndnis marker for the end of metadata chunksnn??in general has no following datafn??- no idea
Here is a short description for known object chunks:
VERSis file version informationPREFis animation properties, it contains e.g. animation dimensions and some preview imageRLE4/RLE8are probably BMP imagesPALTis general animation palette (there may be several of those)ACTRis some sprite that may be moved aroundBKGDis background information (depending onbytyit may be dummy or contain a compressed picture)WIPEis a scene transition informationSWNDis a compressed audio (only WAV has been seen but in theory it can be MIDI as well)??EVare event objects (e.g.BKEVis background image event whileWPEVis transition event). These chunks containwdifmetadata with the event time and oftenpsnmwith the name of the object this event relates toPATHdefines a sprite movement trajectory
DCL compression
Images and sounds inside AWI may be compressed using Pkware Data Compression Library. In this case data is stored inside tz?? chunk followed by 32-bit chunk payload size and payload consisting of one or more compressed data fragments prefixed with 32-bit compressed and unpacked sizes. E.g. compressed image may be split into chunks with uncompressed sizes 14, 40, 1024 and the rest of the data—for BMP headers, palette and actual pixel values.