Update ui, edit levels

master
Louis Pearson 2022-01-29 15:04:36 -07:00
parent 2136f6bf93
commit 746d2c3a2f
7 changed files with 94 additions and 72 deletions

BIN
assets/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

File diff suppressed because one or more lines are too long

View File

@ -27,26 +27,26 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,0,0,0,54,54,54,54,0,54,54,54,0,0,0,0,0,0,0,0,0, 0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,0,0,0,54,54,54,54,0,54,54,54,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,51,0,0,0,37,0,0,0,0,0,0,0,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,51,0,0,0,37,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,3,0,0,0,37,0,0,0,0,0,0,0,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,3,0,0,0,37,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,19,19,19,19,54,54,54,54,54,54,54,54,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,19,19,19,19,54,54,54,54,54,54,54,54,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,19,19,19,19,19,19,19,19,19,19,19,19,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,19,19,19,19,19,19,19,19,19,19,19,19,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,22,22,22,22,22,22,22,22,22,22,22,22,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,22,22,22,22,22,22,22,22,22,22,22,22,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,37,0,0,0,0,0,0,54,54,54,0,0,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,37,0,0,0,0,0,0,54,54,54,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,37,0,0,0,0,0,39,0,0,0,37,0,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,52,0,0,0,37,0,0,0,0,0,39,0,0,0,37,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,37,0,0,0,0,0,0,22,22,22,0,0,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,37,0,0,0,0,0,0,22,22,22,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,54,54,54,54,0,54,0,0,54,54,54,54,0, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,50,54,54,54,54,0,54,0,0,54,54,54,54,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,20,0,0,20,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,20,0,0,20,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,54,54,52,0,0,0,0,0,50,19,34,0,0,51,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,54,54,52,0,0,0,0,0,50,19,34,0,0,51,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,37, 39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,37,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,22,22,22,22,22,23,0,0,0,50,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0, 0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,0,0,0,50,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,53,0,54,54,54,54,54,0,0,0,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,53,0,54,54,54,54,54,0,0,0,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,51,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,51,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,0,0,39,0,0,0,0,3,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37, 0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,0,0,39,0,0,0,0,3,0,0,0,0,0,37,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,
@ -63,9 +63,9 @@
0,0,54,54,54,0,54,54,54,54,0,0,36,52,0,0,0,37,0,0,39,0,0,0,50,67,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,65,52,0,0,21,22,0,0,0, 0,0,54,54,54,0,54,54,54,54,0,0,36,52,0,0,0,37,0,0,39,0,0,0,50,67,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,65,52,0,0,21,22,0,0,0,
0,39,0,0,0,20,0,0,0,0,37,0,39,0,0,0,0,37,0,0,39,0,0,0,0,33,19,19,19,19,19,19,54,54,54,54,54,54,54,54,54,54,55,0,0,0,0,0,0,0,0,20,0,0,0,37,0,0,0,0, 0,39,0,0,0,20,0,0,0,0,37,0,39,0,0,0,0,37,0,0,39,0,0,0,0,33,19,19,19,19,19,19,54,54,54,54,54,54,54,54,54,54,55,0,0,0,0,0,0,0,0,20,0,0,0,37,0,0,0,0,
0,39,0,0,0,53,19,52,0,0,37,0,39,0,0,0,50,36,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,21,0,0,0,0,0, 0,39,0,0,0,53,19,52,0,0,37,0,39,0,0,0,50,36,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,21,0,0,0,0,0,
54,55,0,0,0,0,0,0,0,0,37,0,39,0,0,0,0,53,54,54,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,0,0,0,0,0,0,0,0,0,0,3,0,0,37,0,0,0,0,0, 0,55,0,0,0,0,0,0,0,0,37,0,39,0,0,0,0,53,54,54,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,0,0,0,0,0,0,0,0,0,0,3,0,0,37,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,50,54,54,66,52,0,0,0,0,0,49,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,66,52,4,21,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0, 55,0,0,0,0,0,0,0,0,50,54,54,66,52,0,0,0,0,0,49,53,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,66,52,4,21,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,35,51,35,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,35,51,35,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data> </data>
</layer> </layer>
@ -111,14 +111,14 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,27,0,27,0,0,27,0,0,0,0,27, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,27,0,27,0,0,27,0,0,0,0,27,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,31,0,27,0,0,0,0,0,0,0,27, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,31,0,27,0,0,0,0,0,0,0,27,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,26,26,26,26,26,26,73,26,73,26,26,26,26,26,26,26,73, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,26,26,26,26,26,26,73,26,73,26,26,26,26,26,26,26,73,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,26,26,26,26,26,72,26,26,26,26,26,25,0,0,0,0,0,0,0,0,0,0,0,24,26, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,25,0,0,0,0,0,0,0,
72,26,26,26,26,26,26,26,26,26,26,26,72,26,26,26,26,26,26,26,26,26,26,26,26,25,0,0,0,0,0,0,0,27,0,0,0,0,0,0,27,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,45,0, 72,26,26,26,26,26,26,26,26,26,26,26,72,26,26,26,26,26,26,26,26,26,26,26,26,25,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,45,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,26,26,26,26,46,0,0,0,44,0,27,0,44,0,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,24,26,26,74,0,0,0,40,26,26,26,26,26, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,24,26,26,73,26,74,0,0,0,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,27,0,0,27,0,0,0,0,0,0,0,0,0, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,27,0,0,0,0,27,0,0,0,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,40,26,25,0,0,0,0,0,0,0, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,25,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,24,26,26,26,26,60,26,26,26,26,26,25,0, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,25,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,27,0, 27,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,24,26,26,26,26,60,26,26,26,26,26,25,0,
27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,45,0, 27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,45,0,
27,0,0,0,0,0,0,0,0,0,47,26,41,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,44,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0, 27,0,0,0,0,0,0,0,0,0,47,26,41,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,44,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,
27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,40,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,26,26, 27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,40,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,26,26,26,26,
@ -134,7 +134,7 @@
</data> </data>
</layer> </layer>
<objectgroup id="3" name="objects"> <objectgroup id="3" name="objects">
<object id="1" type="spawn" x="12" y="468"> <object id="1" type="spawn" x="12" y="469">
<point/> <point/>
</object> </object>
<object id="2" type="source" x="4" y="332"> <object id="2" type="source" x="4" y="332">
@ -147,7 +147,6 @@
</properties> </properties>
<polyline points="32,-64 -2,-46"/> <polyline points="32,-64 -2,-46"/>
</object> </object>
<object id="4" type="focus" x="0" y="424" width="96" height="56"/>
<object id="5" type="wire" x="20" y="436"> <object id="5" type="wire" x="20" y="436">
<polyline points="0,0 16,0"/> <polyline points="0,0 16,0"/>
</object> </object>
@ -202,7 +201,7 @@
<point/> <point/>
</object> </object>
<object id="19" type="coin" gid="5" x="216" y="424" width="8" height="8"/> <object id="19" type="coin" gid="5" x="216" y="424" width="8" height="8"/>
<object id="20" type="coin" gid="5" x="296" y="472" width="8" height="8"/> <object id="20" type="coin" gid="5" x="256" y="472" width="8" height="8"/>
<object id="21" type="coin" gid="5" x="392" y="184" width="8" height="8"/> <object id="21" type="coin" gid="5" x="392" y="184" width="8" height="8"/>
<object id="22" type="coin" gid="5" x="120" y="472" width="8" height="8"/> <object id="22" type="coin" gid="5" x="120" y="472" width="8" height="8"/>
<object id="23" type="coin" gid="5" x="16" y="416" width="8" height="8"/> <object id="23" type="coin" gid="5" x="16" y="416" width="8" height="8"/>
@ -215,14 +214,15 @@
</object> </object>
<object id="28" type="wire" x="444" y="396"> <object id="28" type="wire" x="444" y="396">
<properties> <properties>
<property name="anchor2" type="bool" value="false"/> <property name="anchor1" type="bool" value="false"/>
<property name="anchor2" type="bool" value="true"/>
</properties> </properties>
<polyline points="0,0 24,-8"/> <polyline points="0,0 24,-8"/>
</object> </object>
<object id="29" type="wire" x="436" y="396"> <object id="29" type="wire" x="436" y="396">
<properties> <properties>
<property name="anchor1" type="bool" value="true"/> <property name="anchor1" type="bool" value="false"/>
<property name="anchor2" type="bool" value="false"/> <property name="anchor2" type="bool" value="true"/>
</properties> </properties>
<polyline points="8,0 -56,-8"/> <polyline points="8,0 -56,-8"/>
</object> </object>

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 717 B

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,12 @@ const Control = struct {
facing: enum { left, right, up, down } = .right, facing: enum { left, right, up, down } = .right,
grabbing: ?struct { id: usize, which: usize } = null, grabbing: ?struct { id: usize, which: usize } = null,
}; };
const Sprite = struct { offset: Vec2f = Vec2f{ 0, 0 }, size: w4.Vec2, index: usize, flags: w4.BlitFlags }; const Sprite = struct {
offset: Vec2 = Vec2{ 0, 0 },
size: w4.Vec2,
index: usize,
flags: w4.BlitFlags,
};
const StaticAnim = Anim; const StaticAnim = Anim;
const ControlAnim = struct { anims: []AnimData, state: Anim }; const ControlAnim = struct { anims: []AnimData, state: Anim };
const Kinematic = struct { const Kinematic = struct {
@ -169,9 +174,16 @@ var player: Player = undefined;
var music = Music.Procedural.init(.C3, &Music.Minor, 83); var music = Music.Procedural.init(.C3, &Music.Minor, 83);
var wires = std.BoundedArray(Wire, 10).init(0) catch unreachable; var wires = std.BoundedArray(Wire, 10).init(0) catch unreachable;
var camera = Vec2{ 0, 0 }; var camera = Vec2{ 0, 0 };
const Coin = struct { pos: Pos, sprite: Sprite, anim: Anim, area: AABB }; const Coin = struct { pos: Pos, sprite: Sprite, anim: Anim, area: AABB };
var coins = std.BoundedArray(Coin, 20).init(0) catch unreachable; var coins = std.BoundedArray(Coin, 20).init(0) catch unreachable;
var score: u8 = 0; var score: u8 = 0;
var ScoreCoin = Sprite{
.size = Map.tile_size,
.index = 4,
.flags = .{ .bpp = .b2 },
};
var solids_mutable = assets.solid; var solids_mutable = assets.solid;
var conduit_mutable = assets.conduit; var conduit_mutable = assets.conduit;
var conduitLevels_mutable: [conduit_mutable.len]u8 = undefined; var conduitLevels_mutable: [conduit_mutable.len]u8 = undefined;
@ -357,15 +369,28 @@ export fn update() void {
// Score UI // Score UI
{ {
const playerPos = util.vec2fToVec2(player.pos.pos) - camera * Map.tile_size; const playerPos = util.vec2fToVec2(player.pos.pos) - camera * Map.tile_size;
const scoreY: u8 = if (playerPos[1] > 80) 0 else 152; const textOffset = Vec2{ 9, 1 };
const scoreX: u8 = if (playerPos[0] > 80) 0 else 160 - 64; const textChars = 3;
const size = Vec2{ 8 * textChars, 8 } + textOffset;
const scorePos = Vec2{
if (playerPos[0] > 80) 0 else 160 - size[0],
if (playerPos[1] > 80) 0 else 160 - size[1],
};
// Manually convert score to text
var scoreDigits = [textChars]u8{ 'x', '0', '0' };
scoreDigits[1] = '0' + @divTrunc(score, 10);
scoreDigits[2] = '0' + score % 10;
// Clear background of score
w4.DRAW_COLORS.* = 0x0004; w4.DRAW_COLORS.* = 0x0004;
w4.rect(Vec2{ scoreX, scoreY }, Vec2{ 64, 8 }); w4.rect(scorePos, size);
// Draw coin
draw_sprite(scorePos, ScoreCoin);
w4.DRAW_COLORS.* = 0x0042; w4.DRAW_COLORS.* = 0x0042;
w4.text("Score", Vec2{ scoreX, scoreY }); w4.text(&scoreDigits, scorePos + Vec2{ 9, 1 });
var scoreDigits = [2]u8{ '0', '0' };
scoreDigits[1] = '0' + score;
w4.text(&scoreDigits, Vec2{ scoreX + 48, scoreY });
} }
// Music // Music
@ -605,12 +630,15 @@ fn vec2ftovec2(vec2f: Vec2f) w4.Vec2 {
fn drawProcess(_: f32, pos: *Pos, sprite: *Sprite) void { fn drawProcess(_: f32, pos: *Pos, sprite: *Sprite) void {
if (!inView(pos.pos)) return; if (!inView(pos.pos)) return;
const ipos = (util.vec2fToVec2(pos.pos) + sprite.offset) - camera * Map.tile_size;
draw_sprite(ipos, sprite.*);
}
fn draw_sprite(pos: Vec2, sprite: Sprite) void {
w4.DRAW_COLORS.* = 0x2210; w4.DRAW_COLORS.* = 0x2210;
const fpos = pos.pos + sprite.offset;
const ipos = w4.Vec2{ @floatToInt(i32, fpos[0]), @floatToInt(i32, fpos[1]) } - camera * Map.tile_size;
const index = sprite.index; const index = sprite.index;
const t = w4.Vec2{ @intCast(i32, (index * 8) % 128), @intCast(i32, (index * 8) / 128) }; const t = w4.Vec2{ @intCast(i32, (index * 8) % 128), @intCast(i32, (index * 8) / 128) };
w4.blitSub(&assets.tiles, ipos, sprite.size, t, 128, sprite.flags); w4.blitSub(&assets.tiles, pos, sprite.size, t, 128, sprite.flags);
} }
fn staticAnimProcess(_: f32, sprite: *Sprite, anim: *StaticAnim) void { fn staticAnimProcess(_: f32, sprite: *Sprite, anim: *StaticAnim) void {