[quoted text, click to view] > The spec I have says that this particular RECT always has a nbits of 15
It is not always the case. The spec is incorrect in that regard. its a
regular rect, which has variable number of bits.
[quoted text, click to view] > As I explained, I did that and got a corrupted file.
Please complain to Adboe .. it should not be a corrupt file
[quoted text, click to view] > Nothing I've read indicates that the header itself is different, or that
> the framerate field is at a different offset. Is that wrong?
You've not read enough then
here is an extract .. firstly the header
[quoted text, click to view] >>
Signature UI8 Signature byte: "F" indicates uncompressed "C" indicates
compressed (SWF 6 and later only)
Signature UI8 Signature byte always "W"
Signature UI8 Signature byte always "S"
Version UI8 Single byte file version (for example, 0x06 for SWF 6)
FileLength UI32 Length of entire file in bytes
FrameSize RECT Frame size in twips
FrameRate UI16 Frame delay in 8.8 fixed number of frames per second
FrameCount UI16 Total number of frames in file
[quoted text, click to view] >>
and what it means
[quoted text, click to view] >>
The header begins with a three-byte signature of either 0x46, 0x57, 0x53
("FWS"); or 0x43, 0x57, 0x53 ("CWS"). An FWS signature indicates an
uncompressed SWF file; CWS indicates that the entire file after the first 8
bytes (that is, after the FileLength field) was compressed by using the ZLIB
open standard. The data format that the ZLIB library uses is described by
Request for Comments (RFCs) documents 1950 to 1952. CWS file compression is
permitted in SWF 6 or later only.
A one-byte version number follows the signature. The version number is not
an ASCII character, but an 8-bit number. For example, for SWF 4, the version
byte is 0x04, not the ASCII character "4" (0x35).
The FileLength field is the total length of the SWF file, including the
header. If this is an uncompressed SWF file (FWS signature), the FileLength
field should exactly match the file size. If this is a compressed SWF file
(CWS signature), the FileLength field indicates the total length of the file
after decompression, and thus generally does not match the file size. Having
the uncompressed size available can make the decompression process more
efficient.
The FrameSize field defines the width and height of the on-screen display.
This field is stored as a RECT structure, meaning that its size may vary
according to the number of bits needed to encode the coordinates. The
FrameSize RECT always has Xmin and Ymin of 0; the Xmax and Ymax members
define the width and height (see Using bit values).
The FrameRate is the desired playback rate in frames per second. This rate
is not guaranteed if, for example, Flash Player is running on a slow or busy
CPU.
The FrameCount is the total number of frames in this SWF file.
[quoted text, click to view] >>
Note what is says about compressed swf (CWS), and about the FrameSize field.
--
Jeckyl