diff --git a/assets/def.go b/assets/def.go index 27316bd..85a95e8 100644 --- a/assets/def.go +++ b/assets/def.go @@ -6,6 +6,9 @@ import ( "tetris/engine/graphics/font" ) +//go:embed icon.png +var Icon []byte + //go:embed sprites.png var Sprite []byte diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..3e6916f Binary files /dev/null and b/assets/icon.png differ diff --git a/engine/graphics/image.go b/engine/graphics/image.go new file mode 100644 index 0000000..d92b93c --- /dev/null +++ b/engine/graphics/image.go @@ -0,0 +1,7 @@ +package graphics + +import rl "github.com/gen2brain/raylib-go/raylib" + +func LoadImageFromMemory(typ string, data []byte) *rl.Image { + return rl.LoadImageFromMemory(typ, data, int32(len(data))) +} diff --git a/tetris.go b/tetris.go index ebe6764..43830ac 100644 --- a/tetris.go +++ b/tetris.go @@ -22,6 +22,12 @@ func main() { }) defer render.Exit() + // Set window icon + if icon := graphics.LoadImageFromMemory(".png", assets.Icon); icon != nil { + rl.SetWindowIcon(*icon) + rl.UnloadImage(icon) + } + audio.Init() defer audio.Exit()