Respect sprite X and Y offsets
This makes menus display more correctly, and also fixes trees and other objects on the main map, although it messes up bounds clipping (sigh).
This commit is contained in:
@@ -156,7 +156,7 @@ func (e *env) Draw(screen *ebiten.Image) error {
|
||||
}
|
||||
|
||||
func (e *env) renderCell(x, y, z int, screen *ebiten.Image) error {
|
||||
images, err := e.area.ImagesForCell(x, y, z)
|
||||
sprites, err := e.area.SpritesForCell(x, y, z)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -177,10 +177,12 @@ func (e *env) renderCell(x, y, z int, screen *ebiten.Image) error {
|
||||
|
||||
// TODO: iso.Scale(e.state.zoom, e.state.zoom) // apply current zoom factor
|
||||
|
||||
for _, img := range images {
|
||||
if err := screen.DrawImage(img, &ebiten.DrawImageOptions{GeoM: iso}); err != nil {
|
||||
for _, spr := range sprites {
|
||||
iso.Translate(float64(spr.XOffset), float64(spr.YOffset))
|
||||
if err := screen.DrawImage(spr.Image, &ebiten.DrawImageOptions{GeoM: iso}); err != nil {
|
||||
return err
|
||||
}
|
||||
iso.Translate(float64(-spr.XOffset), float64(-spr.YOffset))
|
||||
}
|
||||
|
||||
return nil
|
||||
|
Reference in New Issue
Block a user