diff --git a/formats/dc6/dc6.go b/formats/dc6/dc6.go index 7417267..06fb21b 100644 --- a/formats/dc6/dc6.go +++ b/formats/dc6/dc6.go @@ -1,9 +1,11 @@ package dc6 import ( - "bytes" "encoding/binary" + "io" + + "github.com/FooSoft/lazarus/streaming" ) const ( @@ -72,9 +74,9 @@ func New(reader io.ReadSeeker) (*Dc6, error) { return nil, err } - buff := bytes.NewBuffer(make([]byte, frameHeader.Width*frameHeader.Height)) - // if err := extractFrame(reader, buff, frameHeader); err != nil { - if err := extractFrame(reader, nil, frameHeader); err != nil { + data := make([]byte, frameHeader.Width*frameHeader.Height) + writer := streaming.NewWriter(data) + if err := extractFrame(reader, writer, frameHeader); err != nil { return nil, err } @@ -83,7 +85,7 @@ func New(reader io.ReadSeeker) (*Dc6, error) { int(frameHeader.Height), int(frameHeader.OffsetX), int(frameHeader.OffsetY), - buff.Bytes(), + data, } sprite.Frames = append(sprite.Frames, frame) diff --git a/io/bytewriter.go b/streaming/bytewriter.go similarity index 98% rename from io/bytewriter.go rename to streaming/bytewriter.go index ccdce2f..ff27dbe 100644 --- a/io/bytewriter.go +++ b/streaming/bytewriter.go @@ -1,4 +1,4 @@ -package io +package streaming import ( "errors" diff --git a/io/filesystem/filesystem.go b/streaming/filesystem/filesystem.go similarity index 100% rename from io/filesystem/filesystem.go rename to streaming/filesystem/filesystem.go