12.06.2015 Views

The Annoyance Filter.pdf - Fourmilab

The Annoyance Filter.pdf - Fourmilab

The Annoyance Filter.pdf - Fourmilab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

§110 ANNOYANCE-FILTER FLASH STREAM DECODER 89<br />

110. After the header, a Flash file consists of a sequence of tags, each of which begins with a 10 bit<br />

tag type and a field specifying the number of bytes of tag data which follow. Since each tag specifies its<br />

length, unknown tags may be skipped.<br />

〈 Flash file tag values 110 〉 ≡ /∗ Tag values that represent actions or data in a Flash script. ∗/<br />

typedef enum { stagEnd = 0, /∗ End of Flash file—this is always the last tag ∗/<br />

stagShowFrame = 1,<br />

stagDefineShape = 2,<br />

stagFreeCharacter = 3,<br />

stagPlaceObject = 4,<br />

stagRemoveObject = 5,<br />

stagDefineBits = 6,<br />

stagDefineButton = 7,<br />

stagJPEGTables = 8,<br />

stagSetBackgroundColor = 9,<br />

stagDefineFont = 10,<br />

stagDefineText = 11,<br />

stagDoAction = 12,<br />

stagDefineFontInfo = 13,<br />

stagDefineSound = 14, /∗ Event sound tags. ∗/<br />

stagStartSound = 15,<br />

stagDefineButtonSound = 17,<br />

stagSoundStreamHead = 18,<br />

stagSoundStreamBlock = 19,<br />

stagDefineBitsLossless = 20, /∗ A bitmap using lossless zlib compression. ∗/<br />

stagDefineBitsJPEG2 = 21, /∗ A bitmap using an internal JPEG compression table. ∗/<br />

stagDefineShape2 = 22,<br />

stagDefineButtonCxform = 23,<br />

stagProtect = 24, /∗ This file should not be importable for editing. ∗/<br />

/∗ <strong>The</strong>se are the new tags for Flash 3. ∗/<br />

stagPlaceObject2 = 26, /∗ <strong>The</strong> new style place w/ alpha color transform and name. ∗/<br />

stagRemoveObject2 = 28,<br />

/∗ A more compact remove object that omits the character tag (just depth). ∗/<br />

stagDefineShape3 = 32, /∗ A shape V3 includes alpha values. ∗/<br />

stagDefineText2 = 33, /∗ A text V2 includes alpha values. ∗/<br />

stagDefineButton2 = 34, /∗ A button V2 includes color transform, alpha and multiple actions ∗/<br />

stagDefineBitsJPEG3 = 35, /∗ A JPEG bitmap with alpha info. ∗/<br />

stagDefineBitsLossless2 = 36, /∗ A lossless bitmap with alpha info. ∗/<br />

stagDefineEditText = 37, /∗ An editable Text Field ∗/<br />

stagDefineSprite = 39, /∗ Define a sequence of tags that describe the behavior of a sprite. ∗/<br />

stagNameCharacter = 40, /∗ Name a character definition, character id and a string, (used for<br />

buttons, bitmaps, sprites and sounds). ∗/<br />

stagFrameLabel = 43, /∗ A string label for the current frame. ∗/<br />

stagSoundStreamHead2 = 45, /∗ For lossless streaming sound, should not have needed this... ∗/<br />

stagDefineMorphShape = 46, /∗ A morph shape definition ∗/<br />

stagDefineFont2 = 48 ,<br />

} tagType ;<br />

This code is used in section 100.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!