summaryrefslogtreecommitdiff
path: root/wasp/apps/play2048.py
diff options
context:
space:
mode:
authorDaniel Thompson <daniel@redfelineninja.org.uk>2021-01-10 18:04:56 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2021-01-10 18:14:36 (GMT)
commit79db167ed90da31698ad87534e46e06094099c2c (patch)
treeeae8140605af67c302b096c7153060e4be1abb51 /wasp/apps/play2048.py
parentffff5ae52b9e7d7e6ddf45075e1ee100d73ae75b (diff)
apps: play2048: Optimized the icon a little
wasp-os uses a rather eccentric "2-bit" RLE encoding which works best when there are only three colors (and black) in a single line. Modify the screenshot slightly to allow it to be encoded with fewer palette updated.
Diffstat (limited to 'wasp/apps/play2048.py')
-rw-r--r--wasp/apps/play2048.py75
1 files changed, 31 insertions, 44 deletions
diff --git a/wasp/apps/play2048.py b/wasp/apps/play2048.py
index 63dd448..fb1a7e4 100644
--- a/wasp/apps/play2048.py
+++ b/wasp/apps/play2048.py
@@ -30,59 +30,46 @@ CELL_BACKGROUND = [0x9CB1, 0xEF3B, 0xEF19, 0xF58F, 0xF4AC, 0xF3EB, 0xF2E7, 0xEE6
CELL_FOREGROUND = [0x9CB1, 0x736C, 0x736C, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE]
CELL_LABEL = ['','2','4','8','16','32','64','128','256','512','1K','2K'] # TODO: Display 1024 and 2048 (text-wrapping)
-# 2-bit RLE, generated from res/2048_icon.png, 785 bytes
+# 2-bit RLE, generated from res/2048_icon.png, 578 bytes
icon = (
b'\x02'
b'`@'
b'\x10\xbf\x01 \xbf\x01 \xbf\x01 \x83@\x81M\x82M'
- b'\x82M\x82M\x83 \x83M\x82M\x82M\x82M\x83 '
- b'\x83M\x82M\x82M\x82M\x83 \x83M\x82M\x82M'
- b'\x82M\x83 \x83M\x82M\x82M\x82M\x83 \x83M'
- b'\x82M\x82M\x82M\x83 \x83M\x82M\x82M\x82M'
- b'\x83 \x83M\x82M\x82M\x82M\x83 \x83M\x82M'
- b'\x82M\x82M\x83 \x83M\x82M\x82M\x82M\x83 '
- b'\x83M\x82M\x82M\x82M\x83 \x83M\x82M\x82M'
- b'\x82M\x83 \x83M\x82M\x82M\x82M\x83 \xbf\x01'
- b' \xbf\x01 \x83M\x82M\x82M\x82\x80\xfb\x8d\xc0\xdb'
+ b'\x82M\x82\x80\xc8\x8d\xc0\xdb\xc3 \xc3M\xc2M\xc2M'
+ b'\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 \xc3M'
+ b'\xc2M\xc2M\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d'
b'\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 \xc3M\xc2M'
b'\xc2M\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 '
b'\xc3M\xc2M\xc2M\xc2\x8d\xc3 \xc3M\xc2M\xc2M'
b'\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 \xc3M'
b'\xc2M\xc2M\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d'
- b'\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 \xc3M\xc2M'
- b'\xc2M\xc2\x8d\xc3 \xc3M\xc2M\xc2M\xc2\x8d\xc3 '
- b'\xc3M\xc2M\xc2M\xc2\x8d\xc3 \xff\x01 \xff\x01 '
- b'\xc3\x8d\xc2M\xc2M\xc2@\xfaM\xc3 \xc3\x8d\xc2\x80'
- b'\x81\x8d\xc2\x8d\xc2M\xc3 \xc3\xc0\xfb\xcd@\xdbB\x8d'
- b'B\x8dB\x80\xfa\x8dC C\xcdB\xc0\x81\xcdB\xcd'
- b'B\x8dC C@\xfbEA\x82AD\x80\xdb\x82\xcd'
- b'\x82\xcd\x82\xc0\xfa\xcd\x83 \x83DAAAA\xc1A'
- b'C\x82@\x81M\x82M\x82\xcd\x83 \x83\x80\xfb\x88\xc1'
- b'\x81\x83\xc0\xdb\xc2M\xc2M\xc2@\xfaM\xc3 \xc3\x87'
- b'\x81A\x81\x83\xc2\x80\x81\x8d\xc2\x8d\xc2M\xc3 \xc3\xc0'
- b'\xfb\xc7A\xc1\xc4@\xdbB\x8dB\x8dB\x80\xfa\x8dC'
- b' C\xc6\x81\xc1\xc5B\xc0\x81\xcdB\xcdB\x8dC '
- b'C@\xfbE\x81AF\x80\xdb\x82\xcd\x82\xcd\x82\xc0\xfa'
- b'\xcd\x83 \x83DA\xc4AC\x82@\x81M\x82M\x82'
- b'\xcd\x83 \x83\x80\xfb\x8d\xc0\xdb\xc2M\xc2M\xc2@\xfa'
- b'M\xc3 \xff\x01 \xff\x01 \xc3\x80\x81\x8d\xc2\xc0\xfb'
- b'\xcd@\xdbB\x80\xf6\x8dB\xc0\xc8\xcdC C@\x81'
- b'M\x80\xdb\x82\xc0\xfb\xcd\x82@\xf6M\x82\x80\xc8\x8d\xc0'
- b'\xdb\xc3 \xc3@\x81M\xc2\x80\xfb\x8d\xc2\xc0\xf6\xcd@'
- b'\xdbB\x80\xc8\x8dC C\xc0\x81\xcdB@\xfbM\x80'
- b'\xdb\x82\xc0\xf6\xcd\x82@\xc8M\x83 \x83\x80\x81\x8d\xc0'
- b'\xdb\xc2@\xfbM\xc2\x80\xf6\x8d\xc2\xc0\xc8\xcd@\xdbC'
- b' C\x80\x81\x8dB\xc0\xfb\xcdB@\xf6M\x80\xdb\x82'
- b'\xc0\xc8\xcd\x83 \x83@\x81M\x82\x80\xfb\x8d\xc0\xdb\xc2'
- b'@\xf6M\xc2\x80\xc8\x8d\xc3 \xc3\xc0\x81\xcd@\xdbB'
- b'\x80\xfb\x8dB\xc0\xf6\xcdB@\xc8M\x80\xdb\x83 \x83'
- b'\xc0\x81\xcd\x82@\xfbM\x82\x80\xf6\x8d\xc0\xdb\xc2@\xc8'
- b'M\xc3 \xc3\x80\x81\x8d\xc2\xc0\xfb\xcd@\xdbB\x80\xf6'
- b'\x8dB\xc0\xc8\xcdC C@\x81M\x80\xdb\x82\xc0\xfb'
- b'\xcd\x82@\xf6M\x82\x80\xc8\x8d\xc0\xdb\xc3 \xc3@\x81'
- b'M\xc2\x80\xfb\x8d\xc2\xc0\xf6\xcd@\xdbB\x80\xc8\x8dC'
- b' C\xc0\x81\xcdB@\xfbM\x80\xdb\x82\xc0\xf6\xcd\x82'
- b'@\xc8M\x83 \xbf\x01 \xbf\x01 \xbf\x01\x10'
+ b'\xc3 \xff\x01 \xff\x01 \xc3M\xc2M\xc2M\xc2@'
+ b'\xfaM\xc3 \xc3\x80\x81\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 '
+ b'\xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d'
+ b'\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 \xc3\x8d'
+ b'\xc2\x8d\xc2\x8d\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d\xc2M'
+ b'\xc3 \xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 \xc3\x8d\xc2\x8d'
+ b'\xc2\x8d\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 '
+ b'\xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d'
+ b'\xc2M\xc3 \xc3\x8d\xc2\x8d\xc2\x8d\xc2M\xc3 \xff\x01'
+ b' \xff\x01 \xc3\xc0\xfb\xcd@\xdbB\x8dB\x8dB\xcd'
+ b'C C\xcdB\x8dB\x8dB\xcdC C\xcdB\x8d'
+ b'B\x8dB\xcdC C\xcdB\x8dB\x8dB\xcdC '
+ b'C\xcdB\x8dB\x8dB\xcdC C\xcdB\x8dB\x8d'
+ b'B\xcdC C\xcdB\x8dB\x8dB\xcdC C\xcd'
+ b'B\x8dB\x8dB\xcdC C\xcdB\x8dB\x8dB\xcd'
+ b'C C\xcdB\x8dB\x8dB\xcdC C\xcdB\x8d'
+ b'B\x8dB\xcdC C\xcdB\x8dB\x8dB\xcdC '
+ b'C\xcdB\x8dB\x8dB\xcdC \x7f\x01 \x7f\x01 '
+ b'C\x8dB\x8dB\x80\xf6\x8dB\x8dC C\xc0\x81\xcd'
+ b'B\xcdB\x8dB\x8dC C\xcdB\xcdB\x8dB\x8d'
+ b'C C\xcdB\xcdB\x8dB\x8dC C\xcdB\xcd'
+ b'B\x8dB\x8dC C\xcdB\xcdB\x8dB\x8dC '
+ b'C\xcdB\xcdB\x8dB\x8dC C\xcdB\xcdB\x8d'
+ b'B\x8dC C\xcdB\xcdB\x8dB\x8dC C\xcd'
+ b'B\xcdB\x8dB\x8dC C\xcdB\xcdB\x8dB\x8d'
+ b'C C\xcdB\xcdB\x8dB\x8dC C\xcdB\xcd'
+ b'B\x8dB\x8dC \x7f\x01 \x7f\x01 \x7f\x01\x10'
)
class Play2048App():