Example #1
0
def main():
    if len(sys.argv) == 2:
        filename = sys.argv[1]
    else:
        error('no filename passed')

    filename = os.path.abspath(filename)
    nex, ext = os.path.splitext(filename)

    if not os.path.exists(filename):
        error('cannot find file %s' % (filename, ))

    if ext == ".swf":
        abcs = SwfData.from_filename(filename).read_tags((DoABC, DoABCDefine))
    else:
        error('cannot parse a %s file' % (ext, ))

    for i, abc in enumerate(abcs):
        name = getattr(abc, "name", None) or "%s_%d" % (nex, i)
        abc = getattr(abc, "abc", abc)
        data = abc.serialize(optimize=False)
        f = open(name + ".abc", "w")
        f.write(data)
        f.close()
        print "wrote %s.abc, %s" % (name, sizeof_fmt(len(data)))
Example #2
0
def main():
    if len(sys.argv) == 2:
        filename = sys.argv[1]
    else:
        error('no filename passed')

    filename = os.path.abspath(filename)
    nex, ext = os.path.splitext(filename)

    if not os.path.exists(filename):
        error('cannot find file %s' % (filename,))

    if ext == ".swf":
        abcs = SwfData.from_filename(filename).read_tags((DoABC, DoABCDefine))
    else:
        error('cannot parse a %s file' % (ext,))

    for i, abc in enumerate(abcs):
        name = getattr(abc, "name", None) or "%s_%d" % (nex, i)
        abc  = getattr(abc, "abc", abc)
        data = abc.serialize(optimize=False)
        f = open(name+".abc", "w")
        f.write(data)
        f.close()
        print "wrote %s.abc, %s" % (name, sizeof_fmt(len(data)))
Example #3
0
from fusion.swf.swfdata import SwfData
from fusion.swf.records import Rect, RGBA
from fusion.swf import tags

from fusion.avm2.abc_ import AbcFile
from fusion.avm2.node import export_function, INode, Slot
from fusion.avm2.loadable import Chain, This, Field, Stack, Local
from fusion.avm2.playerglobal import flash

swf = SwfData()

abc = AbcFile()
gen = abc.create_generator()

@export_function(["Object", flash.text.TextField], rettype="void")
def dump(gen, params, tracer):
    gen.load(0)
    gen.emit('convert_i')
    index_reg = gen.store_var("idx")
    params_reg = params.get_index(gen)

    gen.set_label("loop")

    gen.emit('hasnext2', params_reg, index_reg)
    gen.branch_if_false("done")

    gen.load(params)
    gen.load(Local("idx"))
    gen.emit('nextname')
    gen.load("=")
Example #4
0
from fusion.swf.swfdata import SwfData
from fusion.swf.tags import DefineSprite

swf = SwfData(fps=1)

shape = swf.new_shape()
shape.graphics.lineStyle(10)
shape.graphics.moveTo(0, 0)
shape.graphics.lineTo(10, 10)
obj = swf.place(shape)
swf.next_frame()

for i in xrange(1, 11):
    obj.moveTo(10*i, 10*i)
    swf.next_frame()

obj.remove()

f = open('shape_example2.swf', 'wb')
f.write(swf.serialize())
f.close()
Example #5
0
from fusion.swf.swfdata import SwfData
from fusion.swf.tags import DefineSprite

swf = SwfData(fps=1)

shape = swf.new_shape()
shape.graphics.lineStyle(10)
shape.graphics.moveTo(0, 0)
shape.graphics.lineTo(10, 10)
obj = swf.place(shape)
swf.next_frame()

for i in xrange(1, 11):
    obj.moveTo(10 * i, 10 * i)
    swf.next_frame()

obj.remove()

f = open('shape_example2.swf', 'wb')
f.write(swf.serialize())
f.close()
Example #6
0
 def get_swf(self, name="library"):
     from fusion.swf.swfdata import SwfData
     if not name.endswith(".swf"):
         name += ".swf"
     info = self.zip.getinfo(name)
     return SwfData.from_file(self.zip.open(info, "r"), info.file_size)
Example #7
0
 def get_swf(self, name="library"):
     from fusion.swf.swfdata import SwfData
     if not name.endswith(".swf"):
         name += ".swf"
     info = self.zip.getinfo(name)
     return SwfData.from_file(self.zip.open(info, "r"), info.file_size)