package nori import ( "encoding/binary" "io" ) type Animation struct { Title [32]byte FrameCount uint32 Frames []*Frame Version int } func NewAnimation(version int) *Animation { return &Animation{Version: version} } func (a *Animation) Decode(rd io.Reader) error { if err := binary.Read(rd, end, a.Title[:]); err != nil { return err } if err := binary.Read(rd, end, &a.FrameCount); err != nil { return err } if err := discardN(rd, 4*int(a.FrameCount)); err != nil { return err } a.Frames = make([]*Frame, int(a.FrameCount)) for i := range a.Frames { a.Frames[i] = NewFrame(a.Version) if err := a.Frames[i].Decode(rd); err != nil { return err } } return nil }