diff --git a/d2render/sprite.go b/d2render/sprite.go index 07db299c..9b14e553 100644 --- a/d2render/sprite.go +++ b/d2render/sprite.go @@ -39,7 +39,6 @@ type SpriteFrame struct { Unknown uint32 NextBlock uint32 Length uint32 - ImageData []int16 FrameData []byte Image *ebiten.Image } @@ -68,6 +67,15 @@ func CreateSpriteFromDC6(dc6 d2dc6.DC6File) Sprite { for i, f := range dc6.Frames { go func(i int, frame *d2dc6.DC6Frame) { defer wg.Done() + + image, err := ebiten.NewImage(int(frame.Width), int(frame.Height), ebiten.FilterNearest) + if err != nil { + log.Printf("failed to create new image: %v", err) + } + if err := image.ReplacePixels(frame.ColorData()); err != nil { + log.Printf("failed to replace pixels: %v", err) + } + result.Frames[i] = SpriteFrame{ Flip: frame.Flipped, Width: frame.Width, @@ -77,9 +85,7 @@ func CreateSpriteFromDC6(dc6 d2dc6.DC6File) Sprite { Unknown: frame.Unknown, NextBlock: frame.NextBlock, Length: frame.Length, - ImageData: frame.ImageData(), - //FrameData: frame.FrameData, // TODO: Is the field needed? - Image: frame.Image(), + Image: image, } }(i, f) } diff --git a/go.mod b/go.mod index 44a6808e..6cef89a7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/OpenDiablo2/OpenDiablo2 go 1.12 require ( - github.com/OpenDiablo2/D2Shared v0.0.0-20191202215623-87b9a8992eaa + github.com/OpenDiablo2/D2Shared v0.0.0-20191215185943-ef5f17453dfd github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d // indirect github.com/hajimehoshi/ebiten v1.11.0-alpha.0.20191121152720-3df198f68eea diff --git a/go.sum b/go.sum index bc40481c..29614614 100644 --- a/go.sum +++ b/go.sum @@ -2,10 +2,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/JoshVarga/blast v0.0.0-20180421040937-681c804fb9f0 h1:tDnuU0igiBiQFjsvq1Bi7DpoUjqI76VVvW045vpeFeM= github.com/JoshVarga/blast v0.0.0-20180421040937-681c804fb9f0/go.mod h1:h/5OEGj4G+fpYxluLjSMZbFY011ZxAntO98nCl8mrCs= -github.com/OpenDiablo2/D2Shared v0.0.0-20191127010353-6abef1f4c7ae h1:yoY87JVtJIEtCRjQm8tnvL24n7aXbhz7seKkAJfhKU4= -github.com/OpenDiablo2/D2Shared v0.0.0-20191127010353-6abef1f4c7ae/go.mod h1:fG8OQsAulB/t/RC9QeUjYAAEXZWY5kHvgWXmMgLhRwI= -github.com/OpenDiablo2/D2Shared v0.0.0-20191202215623-87b9a8992eaa h1:pGzeFUoQMtrJXvdZNC9qyG2Ltk6mQAdJ9ndmSWPkYaY= -github.com/OpenDiablo2/D2Shared v0.0.0-20191202215623-87b9a8992eaa/go.mod h1:fG8OQsAulB/t/RC9QeUjYAAEXZWY5kHvgWXmMgLhRwI= +github.com/OpenDiablo2/D2Shared v0.0.0-20191215185943-ef5f17453dfd h1:f7THoOT1W1BTaSm/hwz9S/THw0ZLkuYQI9BLV1Pa+Iw= +github.com/OpenDiablo2/D2Shared v0.0.0-20191215185943-ef5f17453dfd/go.mod h1:mY8Ll5/iLRAQsaHvIdqSZiHX3aFCys/Q4Sot+xYpero= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E=