mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-10-15 14:44:49 -04:00
1ad3c72211
* Common function for indexed color to rgba * Use ImgIndexToRGBA when decoding tiles * Pass DrawEffect down to animation
24 lines
600 B
Go
24 lines
600 B
Go
package d2asset
|
|
|
|
import "github.com/OpenDiablo2/OpenDiablo2/d2common/d2interface"
|
|
|
|
func ImgIndexToRGBA(indexData []byte, palette d2interface.Palette) []byte {
|
|
bytesPerPixel := 4
|
|
colorData := make([]byte, len(indexData)*bytesPerPixel)
|
|
|
|
for i := 0; i < len(indexData); i++ {
|
|
// Index zero is hardcoded transparent regardless of palette
|
|
if indexData[i] == 0 {
|
|
continue
|
|
}
|
|
|
|
c := palette.GetColors()[indexData[i]]
|
|
colorData[i*bytesPerPixel] = c.R()
|
|
colorData[i*bytesPerPixel+1] = c.G()
|
|
colorData[i*bytesPerPixel+2] = c.B()
|
|
colorData[i*bytesPerPixel+3] = c.A()
|
|
}
|
|
|
|
return colorData
|
|
}
|