move types out of decoders package

This commit is contained in:
2025-10-17 15:27:33 -05:00
parent 7dd6d45a08
commit 7b1dc4bfd6
54 changed files with 558 additions and 490 deletions
+7 -16
View File
@@ -4,41 +4,32 @@ import (
"encoding/binary"
"errors"
"math"
"github.com/jwetzell/psn-go/internal/chunks"
)
type DataTrackerXYZChunkData struct {
X float32
Y float32
Z float32
}
type DataTrackerXYZChunk struct {
Chunk Chunk
Data DataTrackerXYZChunkData
}
func DecodeDataTrackerXYZChunk(bytes []byte) (DataTrackerXYZChunk, error) {
func DecodeDataTrackerXYZChunk(bytes []byte) (chunks.DataTrackerXYZChunk, error) {
chunk, err := DecodeChunk(bytes)
if err != nil {
return DataTrackerXYZChunk{}, err
return chunks.DataTrackerXYZChunk{}, err
}
if len(chunk.ChunkData) < 12 {
return DataTrackerXYZChunk{}, errors.New("DATA_TRACKER_XYZ chunk must be at least 12 bytes")
return chunks.DataTrackerXYZChunk{}, errors.New("DATA_TRACKER_XYZ chunk must be at least 12 bytes")
}
xBits := binary.LittleEndian.Uint32(chunk.ChunkData[0:4])
yBits := binary.LittleEndian.Uint32(chunk.ChunkData[4:8])
zBits := binary.LittleEndian.Uint32(chunk.ChunkData[8:12])
data := DataTrackerXYZChunkData{
data := chunks.DataTrackerXYZChunkData{
X: math.Float32frombits(xBits),
Y: math.Float32frombits(yBits),
Z: math.Float32frombits(zBits),
}
return DataTrackerXYZChunk{
return chunks.DataTrackerXYZChunk{
Chunk: chunk,
Data: data,
}, nil