Add hand-placed 12x12 icon set
This commit is contained in:
7 files changed
+1641
No files matched your search
+412
@@ -0,0 +1,412 @@
|
||||
// Package icon holds hand-placed 12×12 sprites.
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
var (
|
||||
Check = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.........##.
|
||||
........###.
|
||||
.......###..
|
||||
.##...###...
|
||||
.###.###....
|
||||
..#####.....
|
||||
...###......
|
||||
....#.......
|
||||
............
|
||||
............`)
|
||||
Close = pixel.MustSprite(`
|
||||
............
|
||||
.##......##.
|
||||
.###....###.
|
||||
..###..###..
|
||||
...######...
|
||||
....####....
|
||||
....####....
|
||||
...######...
|
||||
..###..###..
|
||||
.###....###.
|
||||
.##......##.
|
||||
............`)
|
||||
Plus = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
..########..
|
||||
..########..
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
............
|
||||
............`)
|
||||
Minus = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
..########..
|
||||
..########..
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
............`)
|
||||
ArrowLeft = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.....#......
|
||||
....##......
|
||||
...###......
|
||||
..#########.
|
||||
..#########.
|
||||
...###......
|
||||
....##......
|
||||
.....#......
|
||||
............
|
||||
............`)
|
||||
ArrowRight = ArrowLeft.Mirror()
|
||||
ArrowUp = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
....####....
|
||||
...######...
|
||||
..########..
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
............`)
|
||||
ArrowDown = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
..########..
|
||||
...######...
|
||||
....####....
|
||||
.....##.....
|
||||
............`)
|
||||
ChevronLeft = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
......##....
|
||||
.....##.....
|
||||
....##......
|
||||
...##.......
|
||||
...##.......
|
||||
....##......
|
||||
.....##.....
|
||||
......##....
|
||||
............
|
||||
............`)
|
||||
ChevronRight = ChevronLeft.Mirror()
|
||||
ChevronUp = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
.....##.....
|
||||
....####....
|
||||
...##..##...
|
||||
..##....##..
|
||||
.##......##.
|
||||
............
|
||||
............
|
||||
............`)
|
||||
ChevronDown = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
.##......##.
|
||||
..##....##..
|
||||
...##..##...
|
||||
....####....
|
||||
.....##.....
|
||||
............
|
||||
............
|
||||
............
|
||||
............`)
|
||||
TriangleRight = pixel.MustSprite(`
|
||||
............
|
||||
...#........
|
||||
...##.......
|
||||
...###......
|
||||
...####.....
|
||||
...#####....
|
||||
...#####....
|
||||
...####.....
|
||||
...###......
|
||||
...##.......
|
||||
...#........
|
||||
............`)
|
||||
TriangleDown = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
.##########.
|
||||
..########..
|
||||
...######...
|
||||
....####....
|
||||
.....##.....
|
||||
............
|
||||
............
|
||||
............
|
||||
............`)
|
||||
Menu = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.##########.
|
||||
.##########.
|
||||
............
|
||||
.##########.
|
||||
.##########.
|
||||
............
|
||||
.##########.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
More = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
.##..##..##.
|
||||
.##..##..##.
|
||||
............
|
||||
............
|
||||
............
|
||||
............
|
||||
............`)
|
||||
Search = pixel.MustSprite(`
|
||||
............
|
||||
..####......
|
||||
.#....#.....
|
||||
#......#....
|
||||
#......#....
|
||||
#......#....
|
||||
#......#....
|
||||
.#....#.....
|
||||
..######....
|
||||
.......###..
|
||||
........###.
|
||||
.........##.`)
|
||||
Settings = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
..#.####.#..
|
||||
..########..
|
||||
...##..##...
|
||||
.###....###.
|
||||
.###....###.
|
||||
...##..##...
|
||||
..########..
|
||||
..#.####.#..
|
||||
.....##.....
|
||||
............`)
|
||||
Edit = pixel.MustSprite(`
|
||||
............
|
||||
........##..
|
||||
.......####.
|
||||
......#.###.
|
||||
.....#.#.#..
|
||||
....#.#.#...
|
||||
...#.#.#....
|
||||
..#.#.#.....
|
||||
.#.#.#......
|
||||
.##.#.......
|
||||
.###........
|
||||
............`)
|
||||
Trash = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
.##########.
|
||||
.##########.
|
||||
..#......#..
|
||||
..#.#..#.#..
|
||||
..#.#..#.#..
|
||||
..#.#..#.#..
|
||||
..#.#..#.#..
|
||||
..#......#..
|
||||
..########..
|
||||
............`)
|
||||
Copy = pixel.MustSprite(`
|
||||
............
|
||||
.#######....
|
||||
.#.....#....
|
||||
.#..#######.
|
||||
.#..#.....#.
|
||||
.#..#.....#.
|
||||
.####.....#.
|
||||
....#.....#.
|
||||
....#.....#.
|
||||
....#######.
|
||||
............
|
||||
............`)
|
||||
Clipboard = pixel.MustSprite(`
|
||||
....####....
|
||||
.###.##.###.
|
||||
.#........#.
|
||||
.#.######.#.
|
||||
.#........#.
|
||||
.#.######.#.
|
||||
.#........#.
|
||||
.#.####...#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............`)
|
||||
Save = pixel.MustSprite(`
|
||||
............
|
||||
.#########..
|
||||
.#..####.##.
|
||||
.#..####..#.
|
||||
.#........#.
|
||||
.##########.
|
||||
.#........#.
|
||||
.#.######.#.
|
||||
.#.######.#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............`)
|
||||
Download = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
..########..
|
||||
...######...
|
||||
....####....
|
||||
.....##.....
|
||||
............
|
||||
.#........#.
|
||||
.##########.
|
||||
............`)
|
||||
Upload = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
....####....
|
||||
...######...
|
||||
..########..
|
||||
.....##.....
|
||||
.....##.....
|
||||
.....##.....
|
||||
............
|
||||
.#........#.
|
||||
.##########.
|
||||
............`)
|
||||
Refresh = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..##....##..
|
||||
.##......#.#
|
||||
.#........##
|
||||
.#.......###
|
||||
.#..........
|
||||
.##.........
|
||||
..##....##..
|
||||
...######...
|
||||
............
|
||||
............`)
|
||||
Link = pixel.MustSprite(`
|
||||
............
|
||||
.......###..
|
||||
......#...#.
|
||||
......#...#.
|
||||
....#..#.#..
|
||||
.....#.#....
|
||||
....#.#.....
|
||||
..#.#..#....
|
||||
.#...#......
|
||||
.#...#......
|
||||
..###.......
|
||||
............`)
|
||||
Filter = pixel.MustSprite(`
|
||||
............
|
||||
.##########.
|
||||
.##########.
|
||||
..########..
|
||||
...######...
|
||||
....####....
|
||||
....####....
|
||||
....####....
|
||||
....####....
|
||||
....###.....
|
||||
....##......
|
||||
............`)
|
||||
Sort = pixel.MustSprite(`
|
||||
............
|
||||
...#........
|
||||
..###.......
|
||||
.#####......
|
||||
...#........
|
||||
...#....#...
|
||||
...#....#...
|
||||
...#....#...
|
||||
........#...
|
||||
......#####.
|
||||
.......###..
|
||||
........#...`)
|
||||
Send = pixel.MustSprite(`
|
||||
............
|
||||
.##.........
|
||||
.#.##.......
|
||||
.#...##.....
|
||||
.#.....##...
|
||||
.#.......##.
|
||||
.#.....##...
|
||||
.#..###.....
|
||||
.#.#........
|
||||
.##.........
|
||||
............
|
||||
............`)
|
||||
Power = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
..#..##..#..
|
||||
.##..##..##.
|
||||
.#...##...#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.##......##.
|
||||
..########..
|
||||
...######...
|
||||
............`)
|
||||
Grid = pixel.MustSprite(`
|
||||
............
|
||||
.###.###.###
|
||||
.###.###.###
|
||||
.###.###.###
|
||||
............
|
||||
.###.###.###
|
||||
.###.###.###
|
||||
.###.###.###
|
||||
............
|
||||
.###.###.###
|
||||
.###.###.###
|
||||
.###.###.###`)
|
||||
List = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.##.#######.
|
||||
.##.#######.
|
||||
............
|
||||
.##.#######.
|
||||
.##.#######.
|
||||
............
|
||||
.##.#######.
|
||||
.##.#######.
|
||||
............
|
||||
............`)
|
||||
)
|
||||
@@ -0,0 +1,39 @@
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
type Named struct {
|
||||
Name string
|
||||
Sprite *pixel.Sprite
|
||||
}
|
||||
|
||||
// All lists every icon by name, for galleries and tests.
|
||||
var All = []Named{
|
||||
{"check", Check}, {"close", Close}, {"plus", Plus}, {"minus", Minus},
|
||||
{"arrow-left", ArrowLeft}, {"arrow-right", ArrowRight}, {"arrow-up", ArrowUp}, {"arrow-down", ArrowDown},
|
||||
{"chevron-left", ChevronLeft}, {"chevron-right", ChevronRight}, {"chevron-up", ChevronUp}, {"chevron-down", ChevronDown},
|
||||
{"triangle-right", TriangleRight}, {"triangle-down", TriangleDown}, {"menu", Menu}, {"more", More},
|
||||
{"search", Search}, {"settings", Settings}, {"edit", Edit}, {"trash", Trash},
|
||||
{"copy", Copy}, {"clipboard", Clipboard}, {"save", Save}, {"download", Download},
|
||||
{"upload", Upload}, {"refresh", Refresh}, {"link", Link}, {"filter", Filter},
|
||||
{"sort", Sort}, {"send", Send}, {"power", Power}, {"grid", Grid}, {"list", List},
|
||||
{"home", Home}, {"user", User}, {"users", Users}, {"bell", Bell},
|
||||
{"mail", Mail}, {"mail-open", MailOpen}, {"chat", Chat}, {"folder", Folder},
|
||||
{"folder-open", FolderOpen}, {"file", File}, {"file-text", FileText}, {"image", Image},
|
||||
{"music", Music}, {"video", Video}, {"code", Code}, {"terminal", Terminal},
|
||||
{"bug", Bug}, {"lock", Lock}, {"unlock", Unlock}, {"key", Key},
|
||||
{"eye", Eye}, {"eye-off", EyeOff}, {"calendar", Calendar}, {"clock", Clock},
|
||||
{"hourglass", Hourglass}, {"camera", Camera}, {"mic", Mic}, {"phone", Phone},
|
||||
{"map", Map}, {"flag", Flag}, {"pin", Pin}, {"globe", Globe},
|
||||
{"book", Book}, {"cart", Cart}, {"tag", Tag}, {"gift", Gift},
|
||||
{"robot", Robot}, {"branch", Branch}, {"wifi", Wifi}, {"battery", Battery}, {"gamepad", Gamepad},
|
||||
{"info", Info}, {"warning", Warning}, {"error", Error}, {"question", Question},
|
||||
{"heart", Heart}, {"heart-empty", HeartEmpty}, {"star", Star}, {"star-empty", StarEmpty},
|
||||
{"sparkle", Sparkle}, {"volume", Volume}, {"mute", Mute}, {"play", Play},
|
||||
{"pause", Pause}, {"stop", Stop}, {"next", Next}, {"prev", Prev},
|
||||
{"coin", Coin}, {"gem", Gem}, {"potion", Potion}, {"sword", Sword},
|
||||
{"shield", Shield}, {"chest", Chest}, {"crown", Crown}, {"trophy", Trophy},
|
||||
{"skull", Skull}, {"scroll", Scroll}, {"flame", Flame}, {"drop", Drop},
|
||||
{"leaf", Leaf}, {"flower", Flower}, {"sun", Sun}, {"moon", Moon},
|
||||
{"cloud", Cloud}, {"snowflake", Snowflake}, {"bolt", Bolt}, {"palette", Palette},
|
||||
}
|
||||
@@ -0,0 +1,176 @@
|
||||
package icon_test
|
||||
|
||||
import (
|
||||
"go/ast"
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/egoist/mygo/ui"
|
||||
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/icon"
|
||||
"git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
)
|
||||
|
||||
type decl struct {
|
||||
file string
|
||||
expr ast.Expr
|
||||
}
|
||||
|
||||
var upper = regexp.MustCompile(`([a-z])([A-Z])`)
|
||||
|
||||
func kebab(s string) string { return strings.ToLower(upper.ReplaceAllString(s, "$1-$2")) }
|
||||
|
||||
// decls maps each icon's kebab name to its source.
|
||||
func decls(t *testing.T) map[string]decl {
|
||||
files, _ := filepath.Glob("*.go")
|
||||
out := map[string]decl{}
|
||||
for _, f := range files {
|
||||
if strings.HasSuffix(f, "_test.go") || f == "icon.go" {
|
||||
continue
|
||||
}
|
||||
file, err := parser.ParseFile(token.NewFileSet(), f, nil, 0)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, d := range file.Decls {
|
||||
if g, ok := d.(*ast.GenDecl); ok && g.Tok == token.VAR {
|
||||
for _, sp := range g.Specs {
|
||||
v := sp.(*ast.ValueSpec)
|
||||
for i, n := range v.Names {
|
||||
out[kebab(n.Name)] = decl{f, v.Values[i]}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
// build rebuilds an icon from its declared art.
|
||||
func build(t *testing.T, ds map[string]decl, name string) *pixel.Sprite {
|
||||
call, ok := ds[name].expr.(*ast.CallExpr)
|
||||
if !ok {
|
||||
t.Fatalf("%s is not a sprite call", name)
|
||||
}
|
||||
sel := call.Fun.(*ast.SelectorExpr)
|
||||
switch sel.Sel.Name {
|
||||
case "MustSprite":
|
||||
art, err := strconv.Unquote(call.Args[0].(*ast.BasicLit).Value)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return pixel.MustSprite(art)
|
||||
case "Mirror":
|
||||
return build(t, ds, kebab(sel.X.(*ast.Ident).Name)).Mirror()
|
||||
}
|
||||
t.Fatalf("%s built by %s", name, sel.Sel.Name)
|
||||
return nil
|
||||
}
|
||||
|
||||
func render(sp *pixel.Sprite, ink pixel.Slot) []byte {
|
||||
return ui.Render(func(c *ui.Context) {
|
||||
pixel.Use(c, pixel.Settings{Palette: pixel.SummerDay, Dot: 1})
|
||||
pixel.Icon(c, sp, pixel.IconOptions{Slot: ink})
|
||||
}, 12, 12, 1).Pix
|
||||
}
|
||||
|
||||
func TestEveryIconIsListedWithItsArt(t *testing.T) {
|
||||
ds := decls(t)
|
||||
listed := map[string]bool{}
|
||||
for _, n := range icon.All {
|
||||
if listed[n.Name] {
|
||||
t.Errorf("icon %q listed twice", n.Name)
|
||||
}
|
||||
listed[n.Name] = true
|
||||
if _, ok := ds[n.Name]; !ok {
|
||||
t.Fatalf("listed icon %q has no declaration", n.Name)
|
||||
}
|
||||
if string(render(n.Sprite, pixel.Magic)) != string(render(build(t, ds, n.Name), pixel.Magic)) {
|
||||
t.Errorf("icon %q is bound to another icon's art", n.Name)
|
||||
}
|
||||
}
|
||||
for name := range ds {
|
||||
if !listed[name] {
|
||||
t.Errorf("icon %q missing from All", name)
|
||||
}
|
||||
}
|
||||
if len(icon.All) < 100 {
|
||||
t.Fatalf("%d icons, want at least 100", len(icon.All))
|
||||
}
|
||||
}
|
||||
|
||||
func TestOneBitIconsTakeTheInk(t *testing.T) {
|
||||
ds := decls(t)
|
||||
back, ink := pixel.SummerDay.C(pixel.Back), pixel.SummerDay.C(pixel.Magic)
|
||||
for _, n := range icon.All {
|
||||
if ds[n.Name].file == "items.go" {
|
||||
continue
|
||||
}
|
||||
pix, drawn := render(n.Sprite, pixel.Magic), 0
|
||||
for i := 0; i < len(pix); i += 4 {
|
||||
switch {
|
||||
case pix[i] == back.R && pix[i+1] == back.G && pix[i+2] == back.B:
|
||||
case pix[i] == ink.R && pix[i+1] == ink.G && pix[i+2] == ink.B:
|
||||
drawn++
|
||||
default:
|
||||
t.Fatalf("%s draws a color other than the ink", n.Name)
|
||||
}
|
||||
}
|
||||
if drawn == 0 {
|
||||
t.Fatalf("%s draws nothing in the ink", n.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestIconsAreDistinctTwelveByTwelve(t *testing.T) {
|
||||
seen := map[string]string{}
|
||||
for _, n := range icon.All {
|
||||
if n.Sprite.W != 12 || n.Sprite.H != 12 || n.Sprite.Frames() != 1 {
|
||||
t.Fatalf("%s is %d×%d with %d frames", n.Name, n.Sprite.W, n.Sprite.H, n.Sprite.Frames())
|
||||
}
|
||||
pix, back, drawn := render(n.Sprite, pixel.Ink), pixel.SummerDay.C(pixel.Back), 0
|
||||
for i := 0; i < len(pix); i += 4 {
|
||||
if pix[i] != back.R || pix[i+1] != back.G || pix[i+2] != back.B {
|
||||
drawn++
|
||||
}
|
||||
}
|
||||
if drawn == 0 {
|
||||
t.Fatalf("%s draws nothing", n.Name)
|
||||
}
|
||||
key := string(pix)
|
||||
if other, ok := seen[key]; ok {
|
||||
t.Fatalf("%s and %s are the same picture", n.Name, other)
|
||||
}
|
||||
seen[key] = n.Name
|
||||
}
|
||||
}
|
||||
|
||||
func TestItemsAreOutlined(t *testing.T) {
|
||||
for name, d := range decls(t) {
|
||||
if d.file != "items.go" {
|
||||
continue
|
||||
}
|
||||
art, _ := strconv.Unquote(d.expr.(*ast.CallExpr).Args[0].(*ast.BasicLit).Value)
|
||||
var rows []string
|
||||
for _, r := range strings.Split(strings.TrimSpace(art), "\n") {
|
||||
rows = append(rows, strings.TrimSpace(r))
|
||||
}
|
||||
for y, row := range rows {
|
||||
for x := range len(row) {
|
||||
if strings.IndexByte(".e#", row[x]) >= 0 {
|
||||
continue
|
||||
}
|
||||
for _, n := range [][2]int{{x + 1, y}, {x - 1, y}, {x, y + 1}, {x, y - 1}} {
|
||||
if n[0] < 0 || n[1] < 0 || n[0] >= len(row) || n[1] >= len(rows) || rows[n[1]][n[0]] == '.' {
|
||||
t.Fatalf("%s: dot %d,%d touches the outside without an Edge outline", name, x, y)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+267
@@ -0,0 +1,267 @@
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
// Items keep their own colors; '#' still takes the ink.
|
||||
var (
|
||||
Coin = pixel.MustSprite(`
|
||||
............
|
||||
...eeeeee...
|
||||
..eyyyyyye..
|
||||
.eyllyyyyye.
|
||||
.eylyyeyyye.
|
||||
.eylyyeyyse.
|
||||
.eyyyyeyyse.
|
||||
.eyyyyeyyse.
|
||||
.eyyyyyyyse.
|
||||
..essssssse.
|
||||
...eeeeeee..
|
||||
............`)
|
||||
Gem = pixel.MustSprite(`
|
||||
............
|
||||
....eeee....
|
||||
...elllcee..
|
||||
..elcccccse.
|
||||
.eeeeeeeeee.
|
||||
.elcccccsse.
|
||||
..elcccsse..
|
||||
...elcsse...
|
||||
....else....
|
||||
.....ee.....
|
||||
............
|
||||
............`)
|
||||
Potion = pixel.MustSprite(`
|
||||
....eeee....
|
||||
....eeee....
|
||||
....elne....
|
||||
....elne....
|
||||
...ellnne...
|
||||
..elrrrrre..
|
||||
.elrrrrrrre.
|
||||
.elrrrrrrre.
|
||||
.errrrrrrse.
|
||||
.errrrrrsse.
|
||||
..essssssse.
|
||||
...eeeeeee..`)
|
||||
Sword = pixel.MustSprite(`
|
||||
.........eee
|
||||
........elle
|
||||
.......elle.
|
||||
......elle..
|
||||
.....elle...
|
||||
.ee.elle....
|
||||
.eyelle.....
|
||||
..eyle......
|
||||
..eyye......
|
||||
.eyeeye.....
|
||||
eye..e......
|
||||
ee..........`)
|
||||
Shield = pixel.MustSprite(`
|
||||
............
|
||||
.eeeeeeeeee.
|
||||
.elllaaaase.
|
||||
.ellaaaaase.
|
||||
.elaaaaaase.
|
||||
.elaaaaaase.
|
||||
.elaaaaaase.
|
||||
..elaaaase..
|
||||
..elaaaase..
|
||||
...elaase...
|
||||
....esse....
|
||||
.....ee.....`)
|
||||
Chest = pixel.MustSprite(`
|
||||
............
|
||||
..eeeeeeee..
|
||||
.esslsslsse.
|
||||
.esssssssse.
|
||||
.eeeeyyeeee.
|
||||
.essseyesse.
|
||||
.essseeesse.
|
||||
.esssssssse.
|
||||
.esssssssse.
|
||||
.eeeeeeeeee.
|
||||
............
|
||||
............`)
|
||||
Crown = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.e...ee...e.
|
||||
.ee..ee..ee.
|
||||
.eye.ee.eye.
|
||||
.eyyeyyeyye.
|
||||
.eyyyyyyyye.
|
||||
.eylyryylye.
|
||||
.eyyyyyyyye.
|
||||
.essssssse.e
|
||||
..eeeeeeee..
|
||||
............`)
|
||||
Trophy = pixel.MustSprite(`
|
||||
............
|
||||
.eeeeeeeeee.
|
||||
eyelyyyyyeye
|
||||
eyelyyyyyeee
|
||||
.eelyyyyyee.
|
||||
..elyyyyse..
|
||||
...eyyyse...
|
||||
....eyye....
|
||||
.....ee.....
|
||||
....eyyee...
|
||||
..eesssssee.
|
||||
..eeeeeeee..`)
|
||||
Skull = pixel.MustSprite(`
|
||||
............
|
||||
...eeeeeee..
|
||||
..ellllllse.
|
||||
.elllllllse.
|
||||
.ellkklkkse.
|
||||
.ellkklkkse.
|
||||
.elllllllse.
|
||||
..elleelse..
|
||||
...elllse...
|
||||
...eleeee...
|
||||
....eeee....
|
||||
............`)
|
||||
Scroll = pixel.MustSprite(`
|
||||
............
|
||||
.eeeeeeeeee.
|
||||
elllllllllle
|
||||
.eeeeeeeeeee
|
||||
.elllllllle.
|
||||
.elseeeslle.
|
||||
.elllllllle.
|
||||
.elseeeelle.
|
||||
.elllllllle.
|
||||
.eeeeeeeeeee
|
||||
elllllllllle
|
||||
.eeeeeeeeee.`)
|
||||
Flame = pixel.MustSprite(`
|
||||
.....e......
|
||||
....ere.....
|
||||
....erre....
|
||||
...erryre...
|
||||
..erryyyre..
|
||||
..eryyyyre..
|
||||
.erryylyyre.
|
||||
.eryylllyre.
|
||||
.eryylllyre.
|
||||
..eryylyre..
|
||||
...eeeeee...
|
||||
............`)
|
||||
Drop = pixel.MustSprite(`
|
||||
.....ee.....
|
||||
.....ee.....
|
||||
....ecce....
|
||||
....ecce....
|
||||
...elcccee..
|
||||
..elcccccse.
|
||||
..elcccccse.
|
||||
..eccccccse.
|
||||
..ecccccsse.
|
||||
...essssse..
|
||||
....eeeee...
|
||||
............`)
|
||||
Leaf = pixel.MustSprite(`
|
||||
............
|
||||
.......eeee.
|
||||
.....eegggge
|
||||
....egglggge
|
||||
...egglgggse
|
||||
..egglgggse.
|
||||
..eglgggse..
|
||||
.eglgggse...
|
||||
.eggggsee...
|
||||
.eeeeee.....
|
||||
.e..........
|
||||
e...........`)
|
||||
Flower = pixel.MustSprite(`
|
||||
.....ee.....
|
||||
....emme....
|
||||
..eemmmmee..
|
||||
.emmeeeemme.
|
||||
emmmeyyemmme
|
||||
emmmeyyemmme
|
||||
.emmeeeemme.
|
||||
..eemmmmee..
|
||||
....emme....
|
||||
....ege.....
|
||||
....egge....
|
||||
....eee.....`)
|
||||
Sun = pixel.MustSprite(`
|
||||
.....ee.....
|
||||
.e...ee...e.
|
||||
..e......e..
|
||||
....eeee....
|
||||
...eyyyye...
|
||||
eeeyylyyyeee
|
||||
eeeylyyyyeee
|
||||
...eyyyye...
|
||||
....eeee....
|
||||
..e......e..
|
||||
.e...ee...e.
|
||||
.....ee.....`)
|
||||
Moon = pixel.MustSprite(`
|
||||
............
|
||||
....eeee....
|
||||
...eyyye....
|
||||
..eyyee.....
|
||||
.eyye.......
|
||||
.eyye.......
|
||||
.eyye.......
|
||||
.eyyye......
|
||||
..eyyyeeee..
|
||||
...eyyyyye..
|
||||
....eeeee...
|
||||
............`)
|
||||
Cloud = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
....eeee....
|
||||
...elllle...
|
||||
.eeellllee..
|
||||
ellllllllle.
|
||||
elllllllllse
|
||||
ellllllllsse
|
||||
.esssssssse.
|
||||
..eeeeeeee..
|
||||
............
|
||||
............`)
|
||||
Snowflake = pixel.MustSprite(`
|
||||
.....ee.....
|
||||
..e.ecce.e..
|
||||
.eceecceece.
|
||||
..ececcece..
|
||||
.eeecccceee.
|
||||
ecccclccccce
|
||||
eccccclcccce
|
||||
.eeecccceee.
|
||||
..ececcece..
|
||||
.eceecceece.
|
||||
..e.ecce.e..
|
||||
.....ee.....`)
|
||||
Bolt = pixel.MustSprite(`
|
||||
......eeee..
|
||||
.....eyyye..
|
||||
....eyyye...
|
||||
...eyyye....
|
||||
..eyyyyeeee.
|
||||
..eeeyyyyye.
|
||||
....eyyyye..
|
||||
...eyyyee...
|
||||
..eyyee.....
|
||||
..eye.......
|
||||
.eee........
|
||||
............`)
|
||||
Palette = pixel.MustSprite(`
|
||||
............
|
||||
...eeeeee...
|
||||
..elllllle..
|
||||
.elreleglle.
|
||||
.ellllllclle
|
||||
.elmelleelle
|
||||
.ellllleeele
|
||||
.ellyelle.e.
|
||||
..elllle....
|
||||
...eeee.....
|
||||
............
|
||||
............`)
|
||||
)
|
||||
+292
@@ -0,0 +1,292 @@
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
var (
|
||||
Home = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
....####....
|
||||
...##..##...
|
||||
..##....##..
|
||||
.##......##.
|
||||
..#......#..
|
||||
..#.###..#..
|
||||
..#.#.#..#..
|
||||
..#.#.#..#..
|
||||
..########..
|
||||
............`)
|
||||
User = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
...######...
|
||||
...######...
|
||||
...######...
|
||||
....####....
|
||||
............
|
||||
..########..
|
||||
.##########.
|
||||
.##########.
|
||||
.##########.
|
||||
............`)
|
||||
Users = pixel.MustSprite(`
|
||||
............
|
||||
.......###..
|
||||
..###.#####.
|
||||
.#####.###..
|
||||
.#####......
|
||||
..###.#####.
|
||||
.....#######
|
||||
.#####......
|
||||
#######.....
|
||||
#######.....
|
||||
............
|
||||
............`)
|
||||
Bell = pixel.MustSprite(`
|
||||
.....##.....
|
||||
....####....
|
||||
...#....#...
|
||||
..#......#..
|
||||
..#......#..
|
||||
..#......#..
|
||||
..#......#..
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
....####....
|
||||
.....##.....`)
|
||||
Mail = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.##########.
|
||||
.##......##.
|
||||
.#.#....#.#.
|
||||
.#..#..#..#.
|
||||
.#...##...#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
MailOpen = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
...##..##...
|
||||
.##......##.
|
||||
.##......##.
|
||||
.#.#....#.#.
|
||||
.#..#..#..#.
|
||||
.#...##...#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
Chat = pixel.MustSprite(`
|
||||
............
|
||||
.##########.
|
||||
.#........#.
|
||||
.#.######.#.
|
||||
.#........#.
|
||||
.#.####...#.
|
||||
.#........#.
|
||||
.####.#####.
|
||||
....###.....
|
||||
....##......
|
||||
....#.......
|
||||
............`)
|
||||
Folder = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.####.......
|
||||
.#..#######.
|
||||
.##########.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
FolderOpen = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.####.......
|
||||
.#..#####...
|
||||
.#......#...
|
||||
.#.#########
|
||||
.#.#.......#
|
||||
.##.......#.
|
||||
.##......#..
|
||||
.#########..
|
||||
............
|
||||
............`)
|
||||
File = pixel.MustSprite(`
|
||||
............
|
||||
..######....
|
||||
..#....##...
|
||||
..#....#.#..
|
||||
..#....####.
|
||||
..#.......#.
|
||||
..#.......#.
|
||||
..#.......#.
|
||||
..#.......#.
|
||||
..#.......#.
|
||||
..#########.
|
||||
............`)
|
||||
FileText = pixel.MustSprite(`
|
||||
............
|
||||
..######....
|
||||
..#....##...
|
||||
..#....#.#..
|
||||
..#....####.
|
||||
..#.#####.#.
|
||||
..#.......#.
|
||||
..#.#####.#.
|
||||
..#.......#.
|
||||
..#.###...#.
|
||||
..#########.
|
||||
............`)
|
||||
Image = pixel.MustSprite(`
|
||||
............
|
||||
.##########.
|
||||
.#........#.
|
||||
.#.##.....#.
|
||||
.#.##.....#.
|
||||
.#.....#..#.
|
||||
.#....###.#.
|
||||
.#.#.#####.#
|
||||
.#######.#.#
|
||||
.#........#.
|
||||
.##########.
|
||||
............`)
|
||||
Music = pixel.MustSprite(`
|
||||
............
|
||||
....#######.
|
||||
....#.....#.
|
||||
....#######.
|
||||
....#.....#.
|
||||
....#.....#.
|
||||
....#.....#.
|
||||
..###...###.
|
||||
.####..####.
|
||||
.####..####.
|
||||
..##....##..
|
||||
............`)
|
||||
Video = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.#######....
|
||||
.#.....#..#.
|
||||
.#.....#.##.
|
||||
.#.....####.
|
||||
.#.....####.
|
||||
.#.....#.##.
|
||||
.#.....#..#.
|
||||
.#######....
|
||||
............
|
||||
............`)
|
||||
Code = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
...#....#...
|
||||
..##....##..
|
||||
.##..#...##.
|
||||
##...#....##
|
||||
##..#.....##
|
||||
.##.#....##.
|
||||
..##....##..
|
||||
...#....#...
|
||||
............
|
||||
............`)
|
||||
Terminal = pixel.MustSprite(`
|
||||
............
|
||||
.##########.
|
||||
.#........#.
|
||||
.#.#......#.
|
||||
.#..#.....#.
|
||||
.#...#....#.
|
||||
.#..#.....#.
|
||||
.#.#..###.#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
Bug = pixel.MustSprite(`
|
||||
............
|
||||
..#......#..
|
||||
...#.##.#...
|
||||
....####....
|
||||
.#.######.#.
|
||||
..########..
|
||||
.####..####.
|
||||
..########..
|
||||
.#.######.#.
|
||||
...######...
|
||||
..#..##..#..
|
||||
............`)
|
||||
Lock = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
...#....#...
|
||||
...#....#...
|
||||
...#....#...
|
||||
..########..
|
||||
..########..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..########..
|
||||
..########..
|
||||
............`)
|
||||
Unlock = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
...#....#...
|
||||
...#........
|
||||
...#........
|
||||
..########..
|
||||
..########..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..########..
|
||||
..########..
|
||||
............`)
|
||||
Key = pixel.MustSprite(`
|
||||
............
|
||||
..####......
|
||||
.#....#.....
|
||||
.#....#.....
|
||||
.#....#.....
|
||||
..####......
|
||||
...##.......
|
||||
...######...
|
||||
...##.......
|
||||
...####.....
|
||||
...##.......
|
||||
............`)
|
||||
Eye = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
....####....
|
||||
..##....##..
|
||||
.#...##...#.
|
||||
#...####...#
|
||||
#...####...#
|
||||
.#...##...#.
|
||||
..##....##..
|
||||
....####....
|
||||
............
|
||||
............`)
|
||||
EyeOff = pixel.MustSprite(`
|
||||
............
|
||||
.#..........
|
||||
..#.####....
|
||||
..##....##..
|
||||
.#..###...#.
|
||||
#...####...#
|
||||
#...####...#
|
||||
.#...###..#.
|
||||
..##....##..
|
||||
....####.#..
|
||||
..........#.
|
||||
............`)
|
||||
)
|
||||
+202
@@ -0,0 +1,202 @@
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
var (
|
||||
Info = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..#......#..
|
||||
.#...##...#.
|
||||
.#........#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
..#......#..
|
||||
...######...
|
||||
............`)
|
||||
Warning = pixel.MustSprite(`
|
||||
.....##.....
|
||||
.....##.....
|
||||
....#..#....
|
||||
....####....
|
||||
...#.##.#...
|
||||
...#.##.#...
|
||||
..#..##..#..
|
||||
..#..##..#..
|
||||
.#........#.
|
||||
.#...##...#.
|
||||
############
|
||||
............`)
|
||||
Error = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..#......#..
|
||||
.#.#....#.#.
|
||||
.#..#..#..#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#..#..#..#.
|
||||
.#.#....#.#.
|
||||
..#......#..
|
||||
...######...
|
||||
............`)
|
||||
Question = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..##....##..
|
||||
..##....##..
|
||||
........##..
|
||||
.......##...
|
||||
.....##.....
|
||||
.....##.....
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
............`)
|
||||
Heart = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
..###..###..
|
||||
.#####.####.
|
||||
.##########.
|
||||
.##########.
|
||||
..########..
|
||||
...######...
|
||||
....####....
|
||||
.....##.....
|
||||
............
|
||||
............`)
|
||||
HeartEmpty = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
..###..###..
|
||||
.#...#.#..#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
..#......#..
|
||||
...#....#...
|
||||
....#..#....
|
||||
.....##.....
|
||||
............
|
||||
............`)
|
||||
Star = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
....####....
|
||||
############
|
||||
.##########.
|
||||
..########..
|
||||
..########..
|
||||
.####..####.
|
||||
.###....###.
|
||||
.#........#.
|
||||
............`)
|
||||
StarEmpty = pixel.MustSprite(`
|
||||
............
|
||||
.....##.....
|
||||
.....##.....
|
||||
....#..#....
|
||||
#####..#####
|
||||
.#........#.
|
||||
..#......#..
|
||||
..#......#..
|
||||
.#...##...#.
|
||||
.#.##..##.#.
|
||||
.##......##.
|
||||
............`)
|
||||
Sparkle = pixel.MustSprite(`
|
||||
............
|
||||
.....#......
|
||||
.....#......
|
||||
....###.....
|
||||
.##########.
|
||||
....###.....
|
||||
.....#...#..
|
||||
.....#..###.
|
||||
.........#..
|
||||
.#..........
|
||||
###.........
|
||||
.#..........`)
|
||||
Volume = pixel.MustSprite(`
|
||||
............
|
||||
.....#......
|
||||
....##...#..
|
||||
.####..#..#.
|
||||
.###....#.#.
|
||||
.###..#.#.#.
|
||||
.###..#.#.#.
|
||||
.###....#.#.
|
||||
.####..#..#.
|
||||
....##...#..
|
||||
.....#......
|
||||
............`)
|
||||
Mute = pixel.MustSprite(`
|
||||
............
|
||||
.....#......
|
||||
....##......
|
||||
.####.......
|
||||
.###...#...#
|
||||
.###....#.#.
|
||||
.###.....#..
|
||||
.###....#.#.
|
||||
.####..#...#
|
||||
....##......
|
||||
.....#......
|
||||
............`)
|
||||
Play = pixel.MustSprite(`
|
||||
............
|
||||
..#.........
|
||||
..###.......
|
||||
..#####.....
|
||||
..#######...
|
||||
..#########.
|
||||
..#########.
|
||||
..#######...
|
||||
..#####.....
|
||||
..###.......
|
||||
..#.........
|
||||
............`)
|
||||
Pause = pixel.MustSprite(`
|
||||
............
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
..###..###..
|
||||
............`)
|
||||
Stop = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
..########..
|
||||
............
|
||||
............`)
|
||||
Next = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
.#...#....##
|
||||
.##..##...##
|
||||
.###.###..##
|
||||
.########.##
|
||||
.########.##
|
||||
.###.###..##
|
||||
.##..##...##
|
||||
.#...#....##
|
||||
............
|
||||
............`)
|
||||
Prev = Next.Mirror()
|
||||
)
|
||||
+253
@@ -0,0 +1,253 @@
|
||||
package icon
|
||||
|
||||
import "git.zacharyzhang.com/ZacharyZhang-NY/8bitMyGoUI/pixel"
|
||||
|
||||
var (
|
||||
Calendar = pixel.MustSprite(`
|
||||
............
|
||||
..#.....#...
|
||||
.##########.
|
||||
.##########.
|
||||
.#........#.
|
||||
.#.#.#.#..#.
|
||||
.#........#.
|
||||
.#.#.#.#..#.
|
||||
.#........#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
Clock = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..#......#..
|
||||
.#...#....#.
|
||||
.#...#....#.
|
||||
.#...#....#.
|
||||
.#...####.#.
|
||||
.#........#.
|
||||
.#........#.
|
||||
..#......#..
|
||||
...######...
|
||||
............`)
|
||||
Hourglass = pixel.MustSprite(`
|
||||
............
|
||||
.##########.
|
||||
..#......#..
|
||||
..#.####.#..
|
||||
...#.##.#...
|
||||
....#..#....
|
||||
....#..#....
|
||||
...#....#...
|
||||
..#..##..#..
|
||||
..#.####.#..
|
||||
.##########.
|
||||
............`)
|
||||
Camera = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
....###.....
|
||||
.##########.
|
||||
.#........#.
|
||||
.#...##...#.
|
||||
.#..#..#..#.
|
||||
.#..#..#..#.
|
||||
.#...##...#.
|
||||
.##########.
|
||||
............
|
||||
............`)
|
||||
Mic = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
....####....
|
||||
....####....
|
||||
....####....
|
||||
.#..####..#.
|
||||
.#..####..#.
|
||||
..#......#..
|
||||
...######...
|
||||
.....##.....
|
||||
...######...
|
||||
............`)
|
||||
Phone = pixel.MustSprite(`
|
||||
............
|
||||
..##........
|
||||
.####.......
|
||||
.###........
|
||||
.##.........
|
||||
.##.........
|
||||
.##.........
|
||||
..##........
|
||||
...##..###..
|
||||
....######..
|
||||
......###...
|
||||
............`)
|
||||
Map = pixel.MustSprite(`
|
||||
............
|
||||
.##..##..##.
|
||||
.#.##..##.#.
|
||||
.#..#..#..#.
|
||||
.#..#..#..#.
|
||||
.#..#..#..#.
|
||||
.#..#..#..#.
|
||||
.#..#..#..#.
|
||||
.#.##..##.#.
|
||||
.##..##..##.
|
||||
............
|
||||
............`)
|
||||
Flag = pixel.MustSprite(`
|
||||
............
|
||||
.#..........
|
||||
.#######....
|
||||
.########...
|
||||
.#########..
|
||||
.########...
|
||||
.#######....
|
||||
.#..........
|
||||
.#..........
|
||||
.#..........
|
||||
.#..........
|
||||
............`)
|
||||
Pin = pixel.MustSprite(`
|
||||
............
|
||||
....####....
|
||||
...######...
|
||||
..###..###..
|
||||
..###..###..
|
||||
..########..
|
||||
...######...
|
||||
...######...
|
||||
....####....
|
||||
....####....
|
||||
.....##.....
|
||||
............`)
|
||||
Globe = pixel.MustSprite(`
|
||||
............
|
||||
...######...
|
||||
..#..#.#.#..
|
||||
.#..#...#.#.
|
||||
.##########.
|
||||
.#..#...#.#.
|
||||
.#..#...#.#.
|
||||
.##########.
|
||||
.#..#...#.#.
|
||||
..#..#.#.#..
|
||||
...######...
|
||||
............`)
|
||||
Book = pixel.MustSprite(`
|
||||
............
|
||||
.####..####.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.#...##...#.
|
||||
.####..####.
|
||||
.....##.....
|
||||
............
|
||||
............`)
|
||||
Cart = pixel.MustSprite(`
|
||||
............
|
||||
##..........
|
||||
.#..........
|
||||
.##########.
|
||||
..#.......#.
|
||||
..#......#..
|
||||
..########..
|
||||
..#.........
|
||||
..#########.
|
||||
...##...##..
|
||||
...##...##..
|
||||
............`)
|
||||
Tag = pixel.MustSprite(`
|
||||
............
|
||||
.#####......
|
||||
.#...##.....
|
||||
.#.#..##....
|
||||
.#.....##...
|
||||
.##.....##..
|
||||
..##.....##.
|
||||
...##...##..
|
||||
....##.##...
|
||||
.....###....
|
||||
......#.....
|
||||
............`)
|
||||
Gift = pixel.MustSprite(`
|
||||
............
|
||||
...##..##...
|
||||
..#..##..#..
|
||||
.##########.
|
||||
.#....#...#.
|
||||
.##########.
|
||||
..#...#..#..
|
||||
..#...#..#..
|
||||
..#...#..#..
|
||||
..#...#..#..
|
||||
..########..
|
||||
............`)
|
||||
Robot = pixel.MustSprite(`
|
||||
.....#......
|
||||
.....#......
|
||||
..########..
|
||||
.#........#.
|
||||
.#.##..##.#.
|
||||
.#.##..##.#.
|
||||
.#........#.
|
||||
.#..####..#.
|
||||
..########..
|
||||
...#....#...
|
||||
..###..###..
|
||||
............`)
|
||||
Branch = pixel.MustSprite(`
|
||||
............
|
||||
.###....###.
|
||||
.#.#....#.#.
|
||||
.###....###.
|
||||
..#......#..
|
||||
..#.....#...
|
||||
..#...##....
|
||||
..#.##......
|
||||
..##........
|
||||
.###........
|
||||
.#.#........
|
||||
.###........`)
|
||||
Wifi = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
..########..
|
||||
.#........#.
|
||||
#..######..#
|
||||
..#......#..
|
||||
.#..####..#.
|
||||
...#....#...
|
||||
.....##.....
|
||||
.....##.....
|
||||
............
|
||||
............`)
|
||||
Battery = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
............
|
||||
.#########..
|
||||
.#.......##.
|
||||
.#.###...##.
|
||||
.#.###...##.
|
||||
.#.......##.
|
||||
.#########..
|
||||
............
|
||||
............
|
||||
............`)
|
||||
Gamepad = pixel.MustSprite(`
|
||||
............
|
||||
............
|
||||
..########..
|
||||
.#........#.
|
||||
#..#....#..#
|
||||
#.###..#.#.#
|
||||
#..#....#..#
|
||||
#....##....#
|
||||
#...#..#...#
|
||||
.###....###.
|
||||
............
|
||||
............`)
|
||||
)
|
||||
Reference in new issue
Block a user