DEGAS Elite can animate a picture by rotating colours through a range of palette registers, so that the pixels drawn in those colours seem to move. It stores the settings for four such animation channels in the last 32 bytes of the file. Plain DEGAS files, 32,034 bytes long, do not have them.
Fields
The block is four tables of four big-endian words, one word per channel, channel 0 first. In an uncompressed DEGAS Elite file it starts at offset 32,034; in a compressed file it is the last 32 bytes, after the packed screen.
| Offset in the block | Size | Type | Name | Description |
|---|---|---|---|---|
| 0 | 8 | 4 × u16 | left limits | for each channel, the first palette register of its range, 0 to 15 |
| 8 | 8 | 4 × u16 | right limits | for each channel, the last palette register of its range, 0 to 15 |
| 16 | 8 | 4 × u16 | direction | for each channel, which way the colours rotate (below) |
| 24 | 8 | 4 × u16 | delay | for each channel, 128 minus the time between steps in sixtieths of a second |
Direction
| Value | Meaning |
|---|---|
| 0 | rotate left |
| 1 | off: this channel does not animate |
| 2 | rotate right |
Note that 1, not 0, means off. The published notes give left and right only as the program shows them; which way the colours move through the registers is not spelt out there.
Delay
The stored value is 128 minus the delay, and the delay is counted in sixtieths of a second. To get the delay, subtract the stored word from 128: a stored 118 means 10/60 of a second between steps, and a stored 128 means no delay at all.
Example
Channel 0 rotating registers 1 to 7 to the right every sixth of a second, with the other three channels off:
| Offset | Bytes | Field | Value |
|---|---|---|---|
| 32034 | 00 01 00 00 00 00 00 00 | left limits | channel 0: register 1 |
| 32042 | 00 07 00 00 00 00 00 00 | right limits | channel 0: register 7 |
| 32050 | 00 02 00 01 00 01 00 01 | direction | channel 0 right; channels 1 to 3 off |
| 32058 | 00 76 00 00 00 00 00 00 | delay | channel 0: 128 − 118 = 10/60 s |