CFAST Disney Animation Studio
From Just Solve the File Format Problem
(Difference between revisions)
m |
m |
||
(24 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
|subcat=Graphics | |subcat=Graphics | ||
|subcat2=Amiga graphics formats | |subcat2=Amiga graphics formats | ||
− | |extensions={{cft}} | + | |extensions={{ext|cft}} |
}} | }} | ||
'''CFAST''' is an animated raster graphics format associated with the ''Disney Animation Studio'' application for Amiga computers. | '''CFAST''' is an animated raster graphics format associated with the ''Disney Animation Studio'' application for Amiga computers. | ||
− | == | + | == Format Specification == |
− | * TODO | + | |
+ | <pre> | ||
+ | |||
+ | Numbers are stored in big-endian format. | ||
+ | |||
+ | 4 bytes - signature 'GUCF', 'LOCK' or 'STDY' | ||
+ | 'LOCK' means the file was meant to be saved as final/non editable. | ||
+ | 'STDY' means the file is one of the Animation Studio Sample files (copyright Disney) | ||
+ | |||
+ | If the signature is 'LOCK' or 'STDY' then a copyright/description message follows | ||
+ | 2 bytes string length | ||
+ | n bytes string | ||
+ | |||
+ | Then follows the bitmap header | ||
+ | 4 bytes - image width | ||
+ | 4 bytes - image height | ||
+ | 4 bytes - Amiga screen width (320=lores, 640=hires) | ||
+ | 4 bytes - Amiga screen height (200=NTSC, 256=PAL, 400=NTSC interlaced, 512=PAL interlaced) | ||
+ | 1 byte - number of bitplanes (1..5) (numColors = 2^bitplanes) | ||
+ | |||
+ | Then follows palette information for the first two colors (if there are more colors, they are specified later in the file) | ||
+ | 3 bytes - rgb for color index 0 | ||
+ | 3 bytes - rgb for color index 1 | ||
+ | |||
+ | Then follows an extra block of data of varying length | ||
+ | 1 byte - extralen | ||
+ | n bytes (unknown contents) | ||
+ | |||
+ | Then follows the number of frames | ||
+ | 4 bytes - numFrames | ||
+ | |||
+ | Frames are compressed individually (frames are NOT delta compressed from the previous frame) | ||
+ | for every frame | ||
+ | for every bitplane | ||
+ | 4 bytes - compressed size of bitplane | ||
+ | n bytes - compressed bitplane data (Run length encoding) | ||
+ | end of every bitplane | ||
+ | |||
+ | 1 byte - numColors in frame | ||
+ | 3*numColors bytes | ||
+ | |||
+ | 1 byte - number of color cycling ranges | ||
+ | for every range | ||
+ | 1 byte - low color index (0..31) | ||
+ | 1 byte - high color index (0..31) | ||
+ | 6 bytes - unknown | ||
+ | 4 bytes - color cycle Rate | ||
+ | 32 bytes - color cycle color indices ? Seems to always be numbered 0,1,2,3,4...31 (regardless of # bitplanes) | ||
+ | I don't know why these are needed, when we have low/high. | ||
+ | end of every range | ||
+ | end of every frame | ||
+ | |||
+ | At the end of the file, there may also be exposure sheet information ... (TODO) | ||
+ | |||
+ | |||
+ | |||
+ | RLE compression: | ||
+ | |||
+ | Bitplanes are compressed with run length encoding. Each column of words (two bytes) are compressed separately. | ||
+ | |||
+ | 2 bytes - code | ||
+ | if code < 0 then the next word is replicated -code+1 times | ||
+ | else code+1 words are copied literally | ||
+ | |||
+ | </pre> | ||
== Software == | == Software == | ||
* [[Disney Animation Studio]] | * [[Disney Animation Studio]] | ||
+ | * [http://cd.textfiles.com/silvercollection/disc2/GRAPHVEW/DASFLICK.ARJ DASFLICK.ARJ] → FLICK.EXE - Player for MS-DOS | ||
== Sample files == | == Sample files == | ||
− | * | + | * [http://cd.textfiles.com/silvercollection/disc2/GRAPHVEW/DASFLICK.ARJ DASFLICK.ARJ] |
+ | ** [https://www.pcorner.com/list/ANIM/DASFLICK.ZIP/INFO/ DASFLICK.ZIP] - Another copy | ||
== Links == | == Links == | ||
Line 20: | Line 86: | ||
[[Category:Video]] | [[Category:Video]] | ||
+ | [[Category:Amiga]] |
Revision as of 22:08, 22 June 2018
CFAST is an animated raster graphics format associated with the Disney Animation Studio application for Amiga computers.
Contents |
Format Specification
Numbers are stored in big-endian format. 4 bytes - signature 'GUCF', 'LOCK' or 'STDY' 'LOCK' means the file was meant to be saved as final/non editable. 'STDY' means the file is one of the Animation Studio Sample files (copyright Disney) If the signature is 'LOCK' or 'STDY' then a copyright/description message follows 2 bytes string length n bytes string Then follows the bitmap header 4 bytes - image width 4 bytes - image height 4 bytes - Amiga screen width (320=lores, 640=hires) 4 bytes - Amiga screen height (200=NTSC, 256=PAL, 400=NTSC interlaced, 512=PAL interlaced) 1 byte - number of bitplanes (1..5) (numColors = 2^bitplanes) Then follows palette information for the first two colors (if there are more colors, they are specified later in the file) 3 bytes - rgb for color index 0 3 bytes - rgb for color index 1 Then follows an extra block of data of varying length 1 byte - extralen n bytes (unknown contents) Then follows the number of frames 4 bytes - numFrames Frames are compressed individually (frames are NOT delta compressed from the previous frame) for every frame for every bitplane 4 bytes - compressed size of bitplane n bytes - compressed bitplane data (Run length encoding) end of every bitplane 1 byte - numColors in frame 3*numColors bytes 1 byte - number of color cycling ranges for every range 1 byte - low color index (0..31) 1 byte - high color index (0..31) 6 bytes - unknown 4 bytes - color cycle Rate 32 bytes - color cycle color indices ? Seems to always be numbered 0,1,2,3,4...31 (regardless of # bitplanes) I don't know why these are needed, when we have low/high. end of every range end of every frame At the end of the file, there may also be exposure sheet information ... (TODO) RLE compression: Bitplanes are compressed with run length encoding. Each column of words (two bytes) are compressed separately. 2 bytes - code if code < 0 then the next word is replicated -code+1 times else code+1 words are copied literally
Software
- Disney Animation Studio
- DASFLICK.ARJ → FLICK.EXE - Player for MS-DOS
Sample files
- DASFLICK.ARJ
- DASFLICK.ZIP - Another copy