def read_rcol(self, stream, rcol): s = StreamReader(stream) self.read_tag(stream) self.version = s.u32() self.clip = ExternalResource(s.tgi('ITG')) self.track_mask = ExternalResource(s.tgi('ITG')) cActorSlots = s.i32() assert s.u32() == 0 assert s.u32() == 0 assert s.u32() == 0 self.actor_slots = [ self.SlotAssignment(stream) for i in range(cActorSlots) ] self.actor_iks = [ self.NamespaceSlotSuffix(stream) for i in range(s.i32()) ] assert s.u32() == DEADBEEF self.additive_clip = ExternalResource(s.tgi('ITG')) self.clip_pattern = s.p32(size=16) s.align() self.additive_clip_pattern = s.p32(size=16) s.align() assert s.u32() == DEADBEEF AnimationNode.read_rcol(self, stream, rcol)
def read(self, stream, resources=None): s = StreamReader(stream) assert s.u16() == self.TAG self.id = s.u32() self.time_code = s.f32() self.unknown1 = s.f32() self.unknown2 = s.f32() self.unknown3 = s.u32() length = s.u32() self.name = s.zs() assert len(self.name) == length s.align()
def read_rcol(self, stream, rcol): s = StreamReader(stream) self.read_tag(stream) self.version = s.u32() self.clip = ExternalResource(s.tgi('ITG')) self.track_mask = ExternalResource(s.tgi('ITG')) cActorSlots = s.i32() assert s.u32() == 0 assert s.u32() == 0 assert s.u32() == 0 self.actor_slots = [self.SlotAssignment(stream) for i in range(cActorSlots)] self.actor_iks = [self.NamespaceSlotSuffix(stream) for i in range(s.i32())] assert s.u32() == DEADBEEF self.additive_clip = ExternalResource(s.tgi('ITG')) self.clip_pattern = s.p32(size=16) s.align() self.additive_clip_pattern = s.p32(size=16) s.align() assert s.u32() == DEADBEEF AnimationNode.read_rcol(self, stream, rcol)