aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-09-03 14:24:46 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-09-03 14:24:46 +0200
commit0587acd2dd03cb92d67ad0651eedda7275c084d7 (patch)
treee6db28a07b4f0a5addb82b1841f14ea3352e6bdb
parentae9775a41981b211a00244ddbacb84934cf9383a (diff)
downloadmuhqs-game-0587acd2dd03cb92d67ad0651eedda7275c084d7.tar.gz
muhqs-game-0587acd2dd03cb92d67ad0651eedda7275c084d7.zip
fix persistent pile hint
-rw-r--r--go/ui/mapView.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/go/ui/mapView.go b/go/ui/mapView.go
index 528ce6db..035f0f35 100644
--- a/go/ui/mapView.go
+++ b/go/ui/mapView.go
@@ -282,6 +282,7 @@ func (vw *MapView) drawMapLayer(screen *ebiten.Image) {
screen.DrawImage(vw.mapLayer, &ebiten.DrawImageOptions{})
}
+// getPermanentSymbol returnes a cached symbol or generates a new generic one.
func getPermanentSymbol(p game.Permanent, i int) *ebiten.Image {
permanentSymbol := assets.GetSymbol(p.Card().FileName())
if permanentSymbol == nil {
@@ -292,7 +293,9 @@ func getPermanentSymbol(p game.Permanent, i int) *ebiten.Image {
}
}
- return permanentSymbol
+ // Return a copy of the image to allow modifications without affect other
+ // uses of the symbol.
+ return ebiten.NewImageFromImage(permanentSymbol)
}
func (vw *MapView) drawPermanentsLayer(screen *ebiten.Image) {
@@ -321,12 +324,12 @@ func (vw *MapView) drawPermanentsLayer(screen *ebiten.Image) {
}
}
- vw.permanentsLayer.DrawImage(permanentSymbol, op)
-
// Draw a pile hint
if len(p.Pile()) > 0 {
drawPileHint(permanentSymbol)
}
+
+ vw.permanentsLayer.DrawImage(permanentSymbol, op)
}
}