示例#1
0
 def write_rcol(self, stream, rcol):
     self.write_tag(stream)
     s = StreamWriter(stream)
     s.u32(self.version)
     s.tgi(self.rig.key, 'ITG')
     s.f32(self.unknown)
     for i in range(self.RESERVED_COUNT): s.u8(self.reserved[i])
     s.u32(len(self.bone_weights))
     for val in self.bone_weights: s.f32(val)
示例#2
0
文件: jazz.py 项目: garthand/s3py
 def write_rcol(self, stream, rcol):
     s = StreamWriter(stream)
     self.write_tag(stream)
     s.u32(self.version)
     s.u32(rcol.get_block_index(self.actor))
     s.u32(self.parameter)
     s.tgi(self.prop, 'ITG')
     for i in range(4):
         s.u32(0)
     MulticastDecisionGraphNode.write(self, stream, rcol)
示例#3
0
文件: jazz.py 项目: markmanching/s3py
 def write_rcol(self, stream, rcol):
     s = StreamWriter(stream)
     self.write_tag(stream)
     s.u32(self.version)
     s.u32(rcol.get_block_index(self.actor))
     s.u32(self.parameter)
     s.tgi(self.prop, 'ITG')
     for i in range(4):
         s.u32(0)
     MulticastDecisionGraphNode.write(self, stream, rcol)
示例#4
0
文件: __init__.py 项目: garthand/s3py
 def write_rcol(self, stream, rcol):
     self.write_tag(stream)
     s = StreamWriter(stream)
     s.u32(self.version)
     s.tgi(self.rig.key, 'ITG')
     s.f32(self.unknown)
     for i in range(self.RESERVED_COUNT):
         s.u8(self.reserved[i])
     s.u32(len(self.bone_weights))
     for val in self.bone_weights:
         s.f32(val)
示例#5
0
 def write_rcol(self, stream, rcol):
     self.write_tag(stream)
     s = StreamWriter(stream)
     s.u32(self.version)
     tgi = TGIList()
     tgi.begin_write(stream)
     s.u8(len(self.entries))
     for entry in self.entries:
         s.u8(entry.TYPE)
         entry.write(stream, tgi)
     s.u8(2)
     self.bounds.write(stream)
     s.u32(self.flags)
     if self.routing_footprint.key != ResourceKey():
         s.u8(1)
         s.tgi(self.routing_footprint.key, 'TGI')
     else: s.u8(0)
     tgi.end_write(stream)
示例#6
0
文件: __init__.py 项目: garthand/s3py
 def write_rcol(self, stream, rcol):
     self.write_tag(stream)
     s = StreamWriter(stream)
     s.u32(self.version)
     tgi = TGIList()
     tgi.begin_write(stream)
     s.u8(len(self.entries))
     for entry in self.entries:
         s.u8(entry.TYPE)
         entry.write(stream, tgi)
     s.u8(2)
     self.bounds.write(stream)
     s.u32(self.flags)
     if self.routing_footprint.key != ResourceKey():
         s.u8(1)
         s.tgi(self.routing_footprint.key, 'TGI')
     else: s.u8(0)
     tgi.end_write(stream)
示例#7
0
文件: jazz.py 项目: garthand/s3py
    def write_rcol(self, stream, rcol):
        s = StreamWriter(stream)
        self.write_tag(stream)
        s.u32(self.version)
        s.tgi(self.clip, 'ITG')
        s.tgi(self.track_mask, 'ITG')

        s.i32(len(self.actor_slots))
        s.u32(0)
        s.u32(0)
        s.u32(0)
        for actor_slot in self.actor_slots:
            actor_slot.write(stream)
        s.i32(len(self.actor_iks))
        for actor_ik in self.actor_iks:
            actor_ik.write(stream)

        s.u32(DEADBEEF)
        s.tgi(self.additive_clip)
        s.p32(self.clip_pattern, size=16)
        s.align()
        s.p32(self.additive_clip_pattern, size=16)
        s.align()
        s.u32(DEADBEEF)
        AnimationNode.write_rcol(self, stream, rcol)
示例#8
0
 def write_data(self, stream, keys):
     s = StreamWriter(stream)
     self.pointer.end()
     if self.type_code == self.TYPE.FLOAT:
         if self.size32 == 1:
             s.f32(self.value)
         else:
             for f in self.value: s.f32(f)
     elif self.type_code == self.TYPE.INT:
         if self.size32 == 1:
             s.i32(self.value)
         else:
             for i in self.value: s.i32(i)
     elif self.type_code == self.TYPE.TEXTURE:
         if not keys == None:
             s.u32(keys.get_resource_index(self.value))
             s.u32(0)
             s.u32(0)
             s.u32(0)
         else:
             s.tgi(self.value, 'ITG')
             s.u32(0)
示例#9
0
 def write_data(self, stream, keys):
     s = StreamWriter(stream)
     self.pointer.end()
     if self.type_code == self.TYPE.FLOAT:
         if self.size32 == 1:
             s.f32(self.value)
         else:
             for f in self.value:
                 s.f32(f)
     elif self.type_code == self.TYPE.INT:
         if self.size32 == 1:
             s.i32(self.value)
         else:
             for i in self.value:
                 s.i32(i)
     elif self.type_code == self.TYPE.TEXTURE:
         if not keys == None:
             s.u32(keys.get_resource_index(self.value))
             s.u32(0)
             s.u32(0)
             s.u32(0)
         else:
             s.tgi(self.value, 'ITG')
             s.u32(0)
示例#10
0
文件: jazz.py 项目: markmanching/s3py
    def write_rcol(self, stream, rcol):
        s = StreamWriter(stream)
        self.write_tag(stream)
        s.u32(self.version)
        s.tgi(self.clip, 'ITG')
        s.tgi(self.track_mask, 'ITG')

        s.i32(len(self.actor_slots))
        s.u32(0)
        s.u32(0)
        s.u32(0)
        for actor_slot in self.actor_slots: actor_slot.write(stream)
        s.i32(len(self.actor_iks))
        for actor_ik in self.actor_iks: actor_ik.write(stream)

        s.u32(DEADBEEF)
        s.tgi(self.additive_clip)
        s.p32(self.clip_pattern, size=16)
        s.align()
        s.p32(self.additive_clip_pattern, size=16)
        s.align()
        s.u32(DEADBEEF)
        AnimationNode.write_rcol(self, stream, rcol)