Gold Disk Animation

From MultimediaWiki
Jump to navigation Jump to search
  • Company: Gold Disk Inc.
  • Extensions: .awa, .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, RSRC and SEEN chunks
  • RSRC chunk contains assets (RLE4, RLE8, PALT, ACTR, BKGD, WIPE and SWND)
  • SEEN chunks starts with some metadata chunks followed by FRAM chunk that contains actual events (in form of ??EV chunks).

And here are most common metadata chunks:

  • psnm contains object name encoded as Pascal string (one byte of string length followed by string bytes)
  • ps?? in general is followed by Pascal string
  • pt?? 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 value
  • wd?? is followed by 16-bit number
  • dw?? 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)
  • nndn is marker for the end of metadata chunks
  • nn?? in general has no following data
  • fn?? - no idea

Here is a short description for known object chunks:

  • VERS is file version information
  • PREF is animation properties, it contains e.g. animation dimensions and some preview image
  • RLE4/RLE8 are some (probably RLE-compressed) animations
  • PALT is general animation palette (there may be several of those)
  • ACTR is some sprite that may be moved around
  • BKGD is background information (depending on byty it may be dummy or contain a compressed picture)
  • WIPE is a scene transition information
  • SWND is a compressed audio (only WAV has been seen but in theory it can be MIDI as well)
  • ??EV are event objects (e.g. BKEV is background image event while WPEV is transition event). These chunks contain wdif metadata with the event time and often psnm with the name of the object this event relates to
  • PATH defines 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.