OpenDiablo2/Common/Palette.go

30 lines
538 B
Go
Raw Normal View History

2019-10-25 23:12:42 +00:00
package Common
2019-10-24 13:31:59 +00:00
import "github.com/essial/OpenDiablo2/Palettes"
// PaletteRGB represents a color in a palette
2019-10-24 13:31:59 +00:00
type PaletteRGB struct {
R, G, B uint8
}
// Palette represents a palette
type Palette struct {
Name Palettes.Palette
2019-10-24 13:31:59 +00:00
Colors [256]PaletteRGB
}
// CreatePalette creates a palette
func CreatePalette(name Palettes.Palette, data []byte) Palette {
2019-10-24 13:31:59 +00:00
result := Palette{Name: name}
for i := 0; i <= 255; i++ {
result.Colors[i] = PaletteRGB{
B: data[i*3],
G: data[(i*3)+1],
R: data[(i*3)+2],
}
}
return result
}