various fixes to dc6 and dat, as well as viewer
This commit is contained in:
parent
d38188da95
commit
8ab9c5e1ce
@ -29,3 +29,13 @@ func NewFromReader(reader io.Reader) (*Palette, error) {
|
|||||||
|
|
||||||
return palette, nil
|
return palette, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewFromGrayscale() *Palette {
|
||||||
|
palette := new(Palette)
|
||||||
|
for i := 0; i < 256; i++ {
|
||||||
|
value := uint8(i)
|
||||||
|
palette.Colors[i] = imageColor.RGBA{value, value, value, 0xff}
|
||||||
|
}
|
||||||
|
|
||||||
|
return palette
|
||||||
|
}
|
||||||
|
@ -61,7 +61,7 @@ func NewFromReader(reader io.ReadSeeker) (*Sprite, error) {
|
|||||||
frameOffsets = append(frameOffsets, frameOffset)
|
frameOffsets = append(frameOffsets, frameOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite.Directions = make([]Direction, fileHead.FramesPerDir)
|
sprite.Directions = make([]Direction, fileHead.DirCount)
|
||||||
|
|
||||||
for i, frameOffset := range frameOffsets {
|
for i, frameOffset := range frameOffsets {
|
||||||
var frameHead frameHeader
|
var frameHead frameHeader
|
||||||
|
@ -67,6 +67,11 @@ func (s *scene) Advance(window *platform.Window) error {
|
|||||||
frame := direction.Frames[frameIndex]
|
frame := direction.Frames[frameIndex]
|
||||||
imgui.SliderInt("Frame", &frameIndex, 0, int32(len(direction.Frames))-1)
|
imgui.SliderInt("Frame", &frameIndex, 0, int32(len(direction.Frames))-1)
|
||||||
|
|
||||||
|
imgui.Text(fmt.Sprintf("Height: %d", frame.Height))
|
||||||
|
imgui.Text(fmt.Sprintf("Width: %d", frame.Width))
|
||||||
|
imgui.Text(fmt.Sprintf("OffsetX: %d", frame.OffsetX))
|
||||||
|
imgui.Text(fmt.Sprintf("OffsetY: %d", frame.OffsetY))
|
||||||
|
|
||||||
if s.texture == nil || directionIndex != s.directionIndex || frameIndex != s.frameIndex {
|
if s.texture == nil || directionIndex != s.directionIndex || frameIndex != s.frameIndex {
|
||||||
colors := make([]color.RGBA, frame.Width*frame.Height)
|
colors := make([]color.RGBA, frame.Width*frame.Height)
|
||||||
for y := 0; y < frame.Height; y++ {
|
for y := 0; y < frame.Height; y++ {
|
||||||
@ -118,13 +123,15 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
palette := new(dat.Palette)
|
var palette *dat.Palette
|
||||||
if len(*palettePath) > 0 {
|
if len(*palettePath) > 0 {
|
||||||
palette, err = loadPalette(*palettePath)
|
palette, err = loadPalette(*palettePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
fmt.Fprintln(os.Stderr, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
palette = dat.NewFromGrayscale()
|
||||||
}
|
}
|
||||||
|
|
||||||
platform.Init()
|
platform.Init()
|
||||||
|
Loading…
Reference in New Issue
Block a user