Пример #1
0
    def serialize_data(self):
        HasCharacterId = (self.charid is not None) and (not self.update)

        bits = BitStream()
        bits.write(False) # HasClipActions
        bits.write(False) # HasClipDepth
        bits.write(self.name is not None) # HasName
        bits.write(False) # HasRatio
        bits.write(self.colortransform is not None)
        bits.write(self.transform is not None)
        bits.write(HasCharacterId)  # HasCharacterId
        bits.write(self.update) # FlagMove

        bits.write(self.depth, UI16)

        if HasCharacterId:
            bits.write(self.charid, UI16)

        if self.name is not None:
            bits.write(self.name, CString)

        if self.transform is not None:
            bits += self.transform
        if self.colortransform is not None:
            bits += self.colortransform

        return bits.serialize()
Пример #2
0
 def get_data_stub(self):
     bits = BitStream()
     bits += Rect(XMax=self.width, YMax=self.height)
     bits.flush()
     bits.write(self.fps, FIXED8)
     bits.write(self.num_frames, UI16)
     return bits.serialize()
Пример #3
0
    def serialize_data(self):
        HasCharacterId = (self.charid is not None) and (not self.update)

        bits = BitStream()
        bits.write(False)  # HasClipActions
        bits.write(False)  # HasClipDepth
        bits.write(self.name is not None)  # HasName
        bits.write(False)  # HasRatio
        bits.write(self.colortransform is not None)
        bits.write(self.transform is not None)
        bits.write(HasCharacterId)  # HasCharacterId
        bits.write(self.update)  # FlagMove

        bits.write(self.depth, UI16)

        if HasCharacterId:
            bits.write(self.charid, UI16)

        if self.name is not None:
            bits.write(self.name, CString)

        if self.transform is not None:
            bits += self.transform
        if self.colortransform is not None:
            bits += self.colortransform

        return bits.serialize()
Пример #4
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(self.shapeid, UI16)
        bits.write(self.depth, UI16)

        bits += self.transform
        bits += self.colortransform

        return bits.serialize()
Пример #5
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(self.shapeid, UI16)
        bits.write(self.depth, UI16)

        bits += self.transform
        bits += self.colortransform

        return bits.serialize()
Пример #6
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(Zero[3])
        bits.write(self.hasMetadata)
        bits.write(self.useAS3)
        bits.write(Zero[2])
        bits.write(self.useNetwork)
        bits.write(Zero[24])

        return bits.serialize()
Пример #7
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(Zero[3])
        bits.write(self.hasMetadata)
        bits.write(self.useAS3)
        bits.write(Zero[2])
        bits.write(self.useNetwork)
        bits.write(Zero[24])

        return bits.serialize()
Пример #8
0
    def serialize_data(self):
        DefineShape._current_variant = self.variant

        self.shape.calculate_bounds()

        bits = BitStream()
        bits.write(self.characterid, UI16)

        bits += self.shape.shape_bounds
        bits += self.shape

        DefineShape._current_variant = None
        return bits.serialize()
Пример #9
0
    def serialize_data(self):
        DefineShape._current_variant = self.variant

        self.shape.calculate_bounds()

        bits = BitStream()
        bits.write(self.characterid, UI16)

        bits += self.shape.shape_bounds
        bits += self.shape

        DefineShape._current_variant = None
        return bits.serialize()
Пример #10
0
    def serialize_data(self):
        """
        Serailizes this tag, according to the following format.

        ========  =========
        Format    Parameter
        ========  =========
        Reserved  UI16 - 0
        Password  MD5
        ========  =========
        """
        bits = BitStream()
        bits.write(0, UI16)
        bits.write(self.password, CString)
        return bits.serialize()
Пример #11
0
    def serialize_data(self):
        """
        Serailizes this tag, according to the following format.

        ========  =========
        Format    Parameter
        ========  =========
        Reserved  UI16 - 0
        Password  MD5
        ========  =========
        """
        bits = BitStream()
        bits.write(0, UI16)
        bits.write(self.password, CString)
        return bits.serialize()
Пример #12
0
    def serialize_data(self):
        """
        Serializes this tag, according to the following format.

        =======  =========
        Format   Parameter
        =======  =========
        U[32]    flags
        CSTRING  name
        ABC      abc file
        =======  =========
        """
        bits = BitStream()
        bits.write(self.flags, UI32)
        bits.write(self.name, CString)
        return bits.serialize() + self.abc.serialize()
Пример #13
0
    def serialize_data(self):
        """
        Serializes this tag, according to the following format.

        =======  =========
        Format   Parameter
        =======  =========
        U[32]    flags
        CSTRING  name
        ABC      abc file
        =======  =========
        """
        bits = BitStream()
        bits.write(self.flags, UI32)
        bits.write(self.name, CString)
        return bits.serialize() + self.abc.serialize()
Пример #14
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(self.characterid, UI16)

        bits += self.rect
        bits.flush()

        flags = BitStream()
        flags.write(self.text != "")
        flags.write(self.wordwrap)
        flags.write(self.multiline)
        flags.write(self.password)
        flags.write(self.readonly)
        flags.write(self.color is not None)
        flags.write(self.maxlength is not None)
        flags.write(self.font is not None)

        flags.write(self.fontclass is not None)
        flags.write(self.autosize)
        flags.write(self.layout is not None)
        flags.write(not self.selectable)
        flags.write(self.border)
        flags.write(self.wasstatic)
        flags.write(self.isHTML)
        flags.write(self.outlines)

        bits += flags

        if self.font is not None:
            bits.write(self.font.id, UI16) # Doesn't exist yet.
        if self.fontclass is not None:
            bits.write(self.fontclass, CString)
        if self.font is not None:
            bits.write(self.size, UI16)

        if self.color is not None:
            bits += self.color
        if self.maxlength is not None:
            bits.write(self.maxlength, UI16)
        if self.layout is not None:
            bits += self.layout # Doesn't exist yet.

        bits.write(self.variable, CString)

        if self.text != "":
            bits.write(self.text, CString)
        return bits.serialize()
Пример #15
0
    def serialize_data(self):
        bits = BitStream()
        bits.write(self.characterid, UI16)

        bits += self.rect
        bits.flush()

        flags = BitStream()
        flags.write(self.text != "")
        flags.write(self.wordwrap)
        flags.write(self.multiline)
        flags.write(self.password)
        flags.write(self.readonly)
        flags.write(self.color is not None)
        flags.write(self.maxlength is not None)
        flags.write(self.font is not None)

        flags.write(self.fontclass is not None)
        flags.write(self.autosize)
        flags.write(self.layout is not None)
        flags.write(not self.selectable)
        flags.write(self.border)
        flags.write(self.wasstatic)
        flags.write(self.isHTML)
        flags.write(self.outlines)

        bits += flags

        if self.font is not None:
            bits.write(self.font.id, UI16)  # Doesn't exist yet.
            bits.write(self.size, UI16)
        if self.fontclass is not None:
            bits.write(self.fontclass, CString)

        if self.color is not None:
            bits += self.color
        if self.maxlength is not None:
            bits.write(self.maxlength, UI16)
        if self.layout is not None:
            bits += self.layout  # Doesn't exist yet.

        bits.write(self.variable, CString)

        if self.text != "":
            bits.write(self.text, CString)
        return bits.serialize()
Пример #16
0
    def serialize_data(self):
        """
        Serializes this tag, according to the following format.

        =======  =============
        Format   Parameter
        =======  =============
        U[16]    character id
        CSTRING  classsname
        =======  =============
        """
        bits = BitStream()
        bits.write(len(self.symbols), UI16)
        for char_id, classname in self.symbols.iteritems():
            bits.write(char_id, UI16)
            bits.write(classname, CString)
        return bits.serialize()
Пример #17
0
    def serialize_data(self):
        """
        Serializes this tag, according to the following format.

        =======  =============
        Format   Parameter
        =======  =============
        U[16]    character id
        CSTRING  classsname
        =======  =============
        """
        bits = BitStream()
        bits.write(len(self.symbols), UI16)
        for char_id, classname in self.symbols.iteritems():
            bits.write(char_id, UI16)
            bits.write(classname, CString)
        return bits.serialize()
Пример #18
0
    def serialize(self):
        code = ""
        code += s_u32(self._name_index)

        flags = BitStream()
        flags.write(False)
        flags.write(bool(self.metadata))  # Has Metadata
        flags.write(self.is_override)  # Is Override
        flags.write(self.is_final)  # Is Final
        flags.write(self.kind, UB[4])  # kind

        code += flags.serialize()
        code += self.serialize_inner()

        if self.metadata:
            code += s_u32(len(self.metadata))
            for m in self._metadata_indices:
                code += s_u32(m)
        return code
Пример #19
0
    def serialize(self):
        code = ""
        code += s_u32(self._name_index)

        flags = BitStream()
        flags.write(False)
        flags.write(bool(self.metadata)) # Has Metadata
        flags.write(self.is_override)    # Is Override
        flags.write(self.is_final)       # Is Final
        flags.write(self.kind, UB[4])    # kind

        code += flags.serialize()
        code += self.serialize_inner()

        if self.metadata:
            code += s_u32(len(self.metadata))
            for m in self._metadata_indices:
                code += s_u32(m)
        return code
Пример #20
0
    def serialize_data(self):
        DefineShape._current_variant = self.variant

        self.shape.calculate_bounds()

        bits = BitStream()
        bits.write(self.characterid, UI16) # Shape ID

        bits += self.shape.shape_bounds # ShapeBounds Rect
        bits += self.shape.edge_bounds  # EdgeBounds Rect

        bits.write(Zero[6]) # Reserved

        bits.write(self.shape.has_scaling)     # UsesNonScalingStrokes
        bits.write(self.shape.has_non_scaling) # UsesScalingStrokes

        bits += self.shape # ShapeWithStyle

        DefineShape._current_variant = None
        return bits.serialize()
Пример #21
0
    def serialize_data(self):
        DefineShape._current_variant = self.variant

        self.shape.calculate_bounds()

        bits = BitStream()
        bits.write(self.characterid, UI16)  # Shape ID

        bits += self.shape.shape_bounds  # ShapeBounds Rect
        bits += self.shape.edge_bounds  # EdgeBounds Rect

        bits.write(Zero[6])  # Reserved

        bits.write(self.shape.has_scaling)  # UsesNonScalingStrokes
        bits.write(self.shape.has_non_scaling)  # UsesScalingStrokes

        bits += self.shape  # ShapeWithStyle

        DefineShape._current_variant = None
        return bits.serialize()
Пример #22
0
 def serialize_data(self):
     bits = BitStream()
     bits.write(self.depth, UI16)
     return bits.serialize()
Пример #23
0
 def serialize_data(self):
     bits = BitStream()
     bits.write(self.depth, UI16)
     return bits.serialize()