Fix some errors in iso->pix->iso conversions, add debugging
Maps now render a bit more properly, and our mouse position can be correctly assigned to a cell. Kind of, mostly.
This commit is contained in:
25
internal/scenario/manage.go
Normal file
25
internal/scenario/manage.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package scenario
|
||||
|
||||
import (
|
||||
// "image"
|
||||
|
||||
"github.com/hajimehoshi/ebiten"
|
||||
|
||||
"code.ur.gs/lupine/ordoor/internal/maps"
|
||||
)
|
||||
|
||||
type CellPoint struct {
|
||||
IsoPt
|
||||
Z int
|
||||
}
|
||||
|
||||
func (s *Scenario) CellAtCursor() (maps.Cell, CellPoint) {
|
||||
x, y := ebiten.CursorPosition()
|
||||
screenPos := CartPt{X: float64(s.Viewpoint.X + x), Y: float64(s.Viewpoint.Y + y)}
|
||||
isoPos := screenPos.ToISO()
|
||||
// Convert to cell coordinates.
|
||||
// TODO: zoom support will need a camera
|
||||
// FIXME: adjust for Z level
|
||||
|
||||
return s.area.Cell(int(isoPos.X), int(isoPos.Y), 0), CellPoint{IsoPt: isoPos, Z: s.ZIdx}
|
||||
}
|
Reference in New Issue
Block a user