[BUG] [FIX] Can't play SWF files

Mark Guzdial guzdial at cc.gatech.edu
Fri Nov 5 19:13:32 UTC 1999


That worked great -- thank you, Michael!


>Mark Guzdial wrote:
>>
>> I should have tested this before sending out my earlier email, but now that
>> I have some SWF files on disk (Thanks, Ivan, for the method, and David
>
>Are these Flash 4 swf files?
>Squeak can't read all swf version 4 files, but with the attached fix you
>should be able to read some at least.
>
>Michael
>
>
>--
>
> "To improve is to change, to be perfect is to change often."
>                                            Winston Churchill
>+------------------------------------------------------------+
>| Michael Rueger                                             |
>| Phone: ++1 (818) 623 3283        Fax:   ++1 (818) 623 3559 |
>+--------Michael.Rueger.-ND at online.disney.com----------------+
>'From Squeak 2.5 of August 6, 1999 on 2 November 1999 at 5:08:34 pm'!
>
>!FlashFileReader methodsFor: 'processing morphs' stamp: 'mir 11/2/1999 17:05'!
>processMorphFillStylesFrom: data
>	| nFills nColors rampIndex rampColor id fillStyleType color1 color2
>matrix1 matrix2 ramp1 ramp2 |
>	nFills _ data nextByte.
>	nFills = 255 ifTrue:[nFills _ data nextWord].
>	log ifNotNil:[log crtab; print: nFills; nextPutAll:' New fill styles'].
>	1 to: nFills do:[:i|
>		log ifNotNil:[log crtab: 2; print: i; nextPut:$:; tab].
>		fillStyleType _ data nextByte.
>		(fillStyleType = 0) ifTrue:["Solid fill"
>			color1 _ data nextColor: true.
>			color2 _ data nextColor: true.
>			self recordMorphFill: i color1: color1 color2: color2.
>			log ifNotNil:[log nextPutAll:'solid color '; print:
>color1; nextPutAll:' -- '; print: color2].
>		].
>		(fillStyleType anyMask: 16) ifTrue:["Gradient fill"
>			"Read gradient matrix"
>			matrix1 _ data nextMatrix.
>			matrix2 _ data nextMatrix.
>			"Read color ramp data"
>			nColors _ data nextByte.
>			ramp1 _ Array new: nColors.
>			ramp2 _ Array new: nColors.
>			log ifNotNil:[log nextPutAll:'Gradient fill with ';
>print: nColors; nextPutAll:' colors'].
>			1 to: nColors do:[:j|
>				rampIndex _ data nextByte.
>				rampColor _ data nextColor: true.
>				ramp1 at: j put: (rampIndex -> rampColor).
>				rampIndex _ data nextByte.
>				rampColor _ data nextColor: true.
>				ramp2 at: j put: (rampIndex -> rampColor)].
>			self recordMorphFill: i matrix1: matrix1 ramp1:
>ramp1 matrix2: matrix2 ramp2: ramp2 linear: (fillStyleType = 16).
>			fillStyleType _ 0].
>		(fillStyleType anyMask: 16r40) ifTrue:["Bit fill"
>			"Read bitmap id"
>			id _ data nextWord.
>			"Read bitmap matrix"
>			matrix1 _ data nextMatrix.
>			matrix2 _ data nextMatrix.
>			log ifNotNil:[log nextPutAll:'Bitmap fill id=';
>print: id].
>			self recordMorphFill: i matrix1: matrix1 matrix2:
>matrix2 id: id clipped: (fillStyleType anyMask: 1).
>			fillStyleType _ 0].
>		fillStyleType = 0 ifFalse:[self error:'Unknown fill style:
>',fillStyleType printString].
>		self flushLog.
>	].! !
>
>'From Squeak 2.5 of August 6, 1999 on 5 November 1999 at 10:28:44 am'!
>
>!FlashFileReader methodsFor: 'private' stamp: 'mir 11/3/1999 15:25'!
>maximumSupportedVersion
>	^4! !


--------------------------
Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280
(404) 894-5618 : Fax (404) 894-0673 : guzdial at cc.gatech.edu
http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html





More information about the Squeak-dev mailing list