fix options partial draw bug + switch to 2bpp paletted images + adjust to theme colors

pull/3021/head
Willems Davy 2023-09-13 22:33:00 +02:00
parent 1b1226bb8b
commit 0f9d2021c8
1 changed files with 49 additions and 22 deletions

View File

@ -1,40 +1,49 @@
// --------------------------------------------------------------------------------------------------
// images
// --------------------------------------------------------------------------------------------------
const BLOCKTILES = {
let BLOCKTILES = {
width: 10,
height: 10,
bpp: 8,
buffer: require("heatshrink").decompress(atob("AAPX64DFBJIDBAo4JJHKonTJ6I7XAB5j9Y7IJLeZL9LE6bHtBJZj9Y7JpLRbYALWqo75MdLHZBJYrJGpbpLYtY7bMe7HRZuIJRJ5rJnMfYJ/BMbHZBJ5t/fLqRNBJaDHBJIAnHaZj7fPpXHYt47VMfYnRe44AzO85j/MaLHZBObHvMf7HjAGa1VY7Jj/KJ7HTBObHvMf7HbMvpPTZP5jjBP4JjY7IJ/BMb5JBNYAnMf5PVBP7FvMf5PadxAIHAGZFJO6hj/MbTHaBOTHwMf7HjAGRjLACRj/MbTQOfJgJnLJTHvNvpaQMZZk6MZhsYMfptLMZTHaBPrHlMf7HjfJIJxXxjHaMf5aOMagJ9Y8pj/AH4AqOAgEORggEYGOJtLeBhj/GKIGCBJIdIBKgx4SuIEOACJIEAApZJBJRUIBKgxwNpSBIMf5jYchYdGBKgMHBJYx/GMafJVJa+JfOAxXMjQA/AH4A/AH4A/AH4AN64AIJP5sjBP4JZY6QJ/BLIA/ACC+KY6IA/MaD56BLzHcBP5jRKH5utJ/4JhMZIJ/BKLHRBP4JZfOIJfACZZ/MbL55BL68RAH4AaMpYLEAgYTEAhqPEUhIPDHpIZHHZBWJG5onPNCZj2AH4AkNIapFAAqFHAlxGNMqQJ/BK7GLY5QyXE5YjTIqpj3QL5jRCwpvJHA6zJBIxPgBKbHZG6rH5Q7qBXBKJjdfNAIRBLyp7Y/5FhWqZjjCgYJLAiYnnQRjHUGzbbJQL7HTBJ4dJBM5FRMZwnQBojRabZa9NMSTHqDs7HWMc4JQE6bEOLRgIFBIw7UDo4EJCgiCXMRQmJBKblVBMZmQBP4JVCJKhHBJI8ccqYKEMTQEVOw5PMShRtJICxjPBP53MaRTHcAoKfHGQ4JLAQL+YY7CBIBJKVQOxAxMBLZkMCQxPMIsifMIxZiSE5b+ZDpKLLIo4JRMh5jKTYgEoXqKMJMSKfOBLYxlY7IJGDpQKfHaBiVfJSiIIhoJ1CBTvZBL69MBJxj/J6BYJMSItFAl4BCBIpkHBJIeEY9ygLVBLljMeJtTBL4RJd6QNFBFJFYACBgSBJQnxMayLHGo4DCAQoJNDqZnHY6oRKEpAKFOZYrPSJYxJEhprTGpBfFY7QTRBIzHWMbpPHEYwJME5QEHMeYPFMbTHGMfwEFMajlIMfgOIMa70RMaISIAwYLFFQ4JMDpInMLJZPNMahPLIwgJOLJIzGMcwA="))
bpp: 2,
transparent: -1,
palette: new Uint16Array([0,65535,0,0]),
buffer: require("heatshrink").decompress(atob("gsFgFQqFVgtVAYIOEBIgTEBwoADDBwxGgoiCBIIKBBIgxLFAQYOMZ5UIMZ4JIMZ5UEGJRjIDBBoGGoYXCBwQ/ESo57DDB4EYGIxmBDqaUEJQxUDSpJjKDBBAPKgYxLMZAYIBIg9BABgdJDCYxGPwoEGGJYYRMaaVJDCZjTGJYYRNAw0OcpIYRAjBPLAiZKMSpIYTLzAdTCY0BqtUHoIAMitVoAdDDCwxGooELGJYYRMax+DDC0FqhKOoJKEGJBjPY4wJBqJADAgyVKDBrHKBIJZEAhIxJDCJjSY5QYTMawxIDCYAWqEUgsBoEFoNQEwIEBKoNABwMABIYOCModVDCdQitFgNUBINAqg5BoIJCBwIJEAgRKQIAQABe4UQikBBwMVoNRDAIECBIIOCBIhjDVwLRBDCg7BMap8PoonBIQLgCMaJZCPgYA/AEblEACsQcQIETGIYYUIqsFF4JjVDARFVfYIxEDClAgEEA4IETDQNUDCoEBig7BAiYxDDChFVY4hjTDARFVVwT2SAAreBAQMUiEEagNAqraBglUgsAiIzBiAzCBoQTBDAsQDBpKYgtUZQJLBgojBAhAOBCYJkFHwIERAAMVGISjFBIQIEBwIJBDBzGEDA8AAgMVoEFBwNBSoITGG4gxGdooxNCYhZGGwUUDBBjJRYQlHAgJKHMYYxTDAxjMitVfI4JJAgIxGBwwsBCYYOCJRR0IfJVQDAcVFgoECBIIYCT4LgNGJoYJHYRPHAAUFRYcVBwhPDiqQBE4MFGIbCEawwJFAgYyDNAK1CAiBKDoFVHIJaFfwpoBBYRKCUgwTCXBQYDbZauLGIkVawQEBT4NEcowxELINRSAZFCSpsFLIizGXAwTBfIxAFJQQiCfJIYCqjvBoNQAgyuDYQQxCJRYTBfwwxGPgIHBFIMBegTlDBwRjEqtBfIQTCBQIELVwiQJfwRAEcAgYPPgYxEdQoEFfIKzDqEFPgbWJDYKfJDBhFCbwwECSoY7CAoKpCVwQaBBAIOCCYL6DYQa/CRAYJKAAgiBO4NBopOBqJTBqgEEgoxEIAJSBqsFUIJwCbgRYBotQAwILBcoQxDioxHAgYJBGIoYGCYMQgFBgEEBIVQJQwYGJQIYFXgIYPqgYEaoQYORYIYFJREFqkBqITBitBgNUioEBBITIBqtACYIYFCYVFoNUDAYMBDBI="))
};
const CONGRATSTILES = {
let CONGRATSTILES = {
width: 10,
height: 10,
bpp: 8,
buffer: require("heatshrink").decompress(atob("AAP/AAYJGAYQJkGMpjNBI5jeE7hFJBI7HXIpIJvIpJkRY9QJcY/4njY75jnDrYJRMpw7lE5QJPIpIJLIpY7ZBJaLLBMZlMBP4JYZJYVII1w4CHThhJd6hFQRJIdMHaZlQYhQJ8QY4JJMZwEGUAQOHBQYJPAlxjNQJDvJSpAJKDpIJkZKBF0J5a6JYhy9FMeAxLMMLH/Y5YJRY/53jMpj5kBZgJOO5bGQCYggJIjAJ1TpTvZBNKnHWJRj/BJwLFBJ4RMAl4BCBIoIDE67HxHBIxpY7YlDLJBjKHZBEJBLo5JbJRFJBKLHJCJ5FLJ5oA/AE4A="))
bpp : 2,
transparent: -1,
palette: new Uint16Array([0,65535,0,0]),
buffer: require("heatshrink").decompress(atob("gtUgFQoEFggEFqoJIDAVQDBEQDowTDGIoEBA4IEJGwQTBGJhPHGKAJGGI4YJHYRPIAAQYJihKFgtACYQxCLxK4LAAQfBAwQEQJQkBAgLCBAgzMCDAzbHqJbDAgT5JbZauMgNAqlUgsRoFRigJCqAEIJQlUEQKpBqL+NAATWCCZpSEGIQYLqr5LGKL5GGJxjJDoKpGAQb3DDoRjEWwL5LAg75HAhbgHDCCuHd5b+Cor5KFgy4MGI0AoiNBXoZ8MNAQTBDQI9CGIILBMAR8GADAA=="))
};
const CONGRATSSCREEN = {
let CONGRATSSCREEN = {
width: 160,
height: 80,
bpp: 1,
buffer: atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAA4AAAcAAAAAAAA/4AAAAAAAADgADgADxwAAAAAAAD/gAAAAAAAAOAAOAAPHAAAAAAAAMODgDgOAcGA4AA4HA8ADgBAAAAAwA/j/B+Hz+P5zjh+HxwfB/D8AADAHOPcP4eO8OHOOG8PHDGHsPwAAMAc45wxhgPw4c44Pw8cMYYw4AAAwBzjnDGGA/Dhzjg/DxwxhjDgAADDnOOcMYYP8OHOOH8PHDGGMPwAAPOc45wxhh7w4c457w8cMYYwDAAAf5/jnD+GD/D5/jh/Dxw/hjD8AAA+D4OcH4YP8GD2OHMHHB8GMPwAAD4Pg5wfhg/wYPY4cwccHwYw/AAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhBwIgAD4IA+D4PA+DwAA/CIPgACEHAiAAPggD4Pg8D4PAAD8Ig+AAIQiCIAAgCAIAiCIIAiAADAiCAAASCIIgACAIAgCIIggCIAAMCIIAAB4IgiAAIAgD4IgiD4IgAAwPg+AADAiCIAAgCAIA+DwIAiAADAiCAAAMCIIgACAIAgD4PAgCIAAMCIIAAAwIgiAAIAgCAIgiCAIgAAwIggAADAcD4AA+D4PgiCIPg8AADAiD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A4AAAAAAAAAAAAAAAAAAAAAAADwDgAAAAAAAAAAAAAAAAAAAAAAAPAOAAAAAAAAAAAAAAAAYAAAAAAA8A4AAAAAAAAAAAAAAAD4AAAAAADwDgAAAAAAAAAAMAAAA5wAAAAAAPg+AAAAAAAAAAD4AAADnAAAAAAA+D4AAAAAAAAAAPgMAAcEAAAAAAD4PgAAADAAAAABzj4ABCYAAAAAAD58AAAA+AAAAAEGc4AEIgAAAAAAPnwAAAHOAAAAAxdFwAQaAAwAAAAf+AAAARcAAAACCUXABBoADAAAAB/4AAABFwAAAAIJxEAEAgA+AAAAH/gAAAMRAAAAAgmCQAQCAHOAAAAP8AAAAgkAAOACAYBABAIAQYAAAA/wAAACAQAB8AIBgEAEAgDFwAAABkAAAAIBAAMYAgGAQAQCAMXAAAAGQAAAAgEAAxgCAYBABwYAgkAAAA/wAAACAQAOCAIBgEADBACCQAAAODwAAAIBAAxsAwGAQAOcAIBAAADgBgAAAgEADGQBB8BAAPgAgEAAAcADgAACBwAMFAHOwEAA+ACAQAABwAOAAAIHAAwUAc5BwABgAIBAAAEBgYAAAwYADAQA+HOAAGAAgEAAAweBwAABzgAMBAAwPgAAQACBwAACAYBAAAD4AAwEADAMAABAAMGAAAIBgEAAADAADAQAIAwAAEAAwYAAAgGAQAAAMAAMBAAgDAAAIABzgAACAYBAAAAwAA4MACAIAAAgAD4AAAIHwEAAACAAAggAEAgAACAADAAAAwfBwAAAIAADGAAQBAAAOAAMAAABAAGAAAAQAAHwABAEAAA4AAwAAAEAAYAAABAAAfAAEAQAABgACAAAAcADgAAAEAAA4AAYBAAAAAAIAAAA4AYAAAAQAADgAAgGAAAAAAQAAAA4PAAAABgAAIAAAAIAAAAABAAAAA/wAAAACAAAgAAAAgAAAAAEAAAAD/AAAAAIAACAAAAAAAAAAAQAAAAAAAAAAAAAAGAAAA==")
bpp: 2,
transparent: -1,
palette : new Uint16Array([0,65535,0,0]),
buffer : require("heatshrink").decompress(atob("AFUECaVUAokVCRcFqoUFB5FAE40FqAn1CgQWCAQIgCDAMUE44KBE4I0EgInIKQVAqtVDINUgNVBIdUiodBBQVAipPCAYIIBqAUBE4wYCqoTBEAMBqkFooVBEAInDBAQnCqEUCYInMIgITDMoI9CE4gIDE4tACIQntSAgTFMQJ3HE5Z3FqAnKiqfHBAYnHOQYABHIIUBbgInCY4RPEBwhPGCYZPGBYIdBRwInCionFAgVRE4VQBAInCioOCE94AHgItBAEhKBE8oAegkBQoIEBggJCUwVAAgawCLQIEECYSbBoC/DE9gJBE4gDCE4IEDBwYJCCYcAFgIOCcwgTCE8htCE5R8DBwZ3BE46BCO4YxFJ5aaEJ6An5T6oJCiqVDAAIECRYifGKgQnGT4oA/AH4A/AH4A/AH4A/AH4A/AH4AOqoCBqgn/E88UE81VoAndgoGGoNQGZcFE6BHGE8YhDisAiAnTNowABgNQqgTEiEEZBQRBipdGWpEBdAMVgoMCE4MEE6RFCCQ8BisQiIUCiEBogNCIo0BqpHGgIdBE4xFBoInnqEQYQQCBO4S9HE5BtBS4InIoEEE46pEXwlVDpAGDHwQJBgIbBE458BE6BPDLwInOqCpDAAcUCIQnJPoIiBE97XBigEBVIh3RTwInJgoEDE47OBgpYFE4tQigNBD4InGoIZCBIjfFLoQnKCwIHBiogBDodVdQQnGgIyCKQInFR4InCgInCqFUE88QC4ZoEE46LCRoSoDCwhIEI4MVHYgnKDoMVE4LIEIoQnHCgMFBYYhEDoy9CaI6NDE44HCE4yIBSownIDoQnGCgIntA4SWBco4nNS4IhCD4QcGCoSpEBQUVIQgVGAgQhCgInKLIrvDQIIKFCokFRwYnCHQhyEDgoSCPIYKHAgNVBIonsDAgcGFwTRFE4rICD4iyFAAYcFC4cUBIonJDYQTGAAQxGJgMFQIp+GHwzUEE5cAqqRDMJInuABKpJABiYFA=="))
};
const SELECTORTILES = {
let SELECTORTILES = {
width: 10,
height: 10,
bpp: 8,
transparent: 185,
buffer: require("heatshrink").decompress(atob("3IA/AB3XBBAJKBRAA/NqBkJCTQA/OrIA/LP5RrBLoA/AH7P/Z/4A/AE8ABBAJKBRAA/NqBkJCTQA/OrIA/LP5RrBLoA/AH7P/Z/4AXA="))
bpp: 2,
transparent: 0,
palette: new Uint16Array([63519,0,65535,0]),
buffer: require("heatshrink").decompress(atob("ACeAgEogEC0AaUhQdGHCozYFSYWCAggApGd9AgEUgEBqAaUgodGHCozYFSYWCAggApGbYA=="))
};
const TITLE = {
let TITLE = {
width: 160,
height: 50,
bpp: 1,
buffer: atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPg/AcAAAAAAAAAAAAAAAAAAAAAB+D8HwAAAAAAAAAAAAAAPgAAAAAH4PwfAAAAAAAAAAAAAAA+AAAAAAfg/B8AAD8AAAAAAAAAAH4AAAAAB+H8HwAAP4AAAAAAAAAA/gAAAAAH4fwfB/x/gPwPPeP4B/D/gAAAAAfh/B8P///3/g997/w/+f/gAAAAB+H8Hw////f+D33v/D/5/+AAAAAD4fweH///5/8P/f/8f/n/3AAAAAPx/D4f/n+P/8/5//x///+MAAAAAfHvPhg+Pw+Hz/H8fHw+/g4AAAAB8Y8+AD4+D4fPwfB8fD58DgAAAAHxjz4APj4Ph8/B8Hx8PnwOAAAAAf+H/g/+Pg//z4HwfH/+fAwAAAAB/4f8H/4+D//Pg/B8f/58HAAAAAH/h/gfDj4PgA+H8Px8AHwwAAAAAH+H+D4OPg+AD4fw/HwAfDAAAAAAf4f4Pg4+D4APh/D8fAB8MAAAAAB/B/g//j/v/w+H8Px//n4wAAAAAH8H+D/+P+//D4fw/H/+/7AAAAAAfg/4P/4f7/8Ph/D8P/7/sAAAAAAwD8A4ABwHAA4HwPA8AHAcAAAAADAPwDgAHAcADgfA8DwAcBwAAAAAEAzA7gAeB4AeBmCYJgB8TAAAAAAcCEDnADMP4B8EcJxjAMf8AAAAAAwQI8fx44g48YgxjMPHh7wAAAAAA+AeAH+AcAfA8B8HgD4HwAAAAAAD4B4Af4BwB8DwHweAPgfAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAAAAAAD//AAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAHvgAAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==")
bpp: 2,
transparent: 0,
palette : new Uint16Array([63519,65535,0,0]),
buffer: require("heatshrink").decompress(atob("AAUC1WglQCBhWoE78KqtoktV0GprREXBQ8JE4mVE61VsAnSHoJ9PNgInL0onHqtawAnNlInMyonD1QABxVVqzTCwACBAAOgAQJMBLwJpBtQnP1NVqoCBq2qLYICBrVVytqBQQOBrQNBHIInOCQIADrICBtWlAgOVsoHB1QCBqwZBPBAnftSyGaQNqBoOiNAISCAAVpAQIxDBgaICE4eVE4zkCBoI7BE4YkBqxVDSgQnGAAQRBUA0COQJlBXINqywrCJYVWDwInBHIQGBAIIRBPwKFBUA4nByzhCtWqE4YVBE4mqfwYnDMIL9BE+CDBRQQhBAYQFEE4NWE4yxDE4KfGE4waBE5ahBE5DvHE4pCD0p3EP4J7DBgJ3D1QDCrQnHEgQnDEYQnUrAmGgEJE9CMCE4SfDqtlAQIiBE46fDtQnkBwNWE5TlCE4rSBE5QRDE4THIhVaSIKKCTATzBSAIMBBoNqSwWlBAKfDAoOVE48CE8+aCgOlAQNltQnCEIIuCAoVptWmy2qAgLvC1OlE48AIoOm1InBtJJCrSWCDgOVa4JHB02V1NqNATMCE5BMBzUKdQK7CJANW0x/BOIOW02KAYJjB0QTBq2JqwnJlVVtECEQOKFANW0RHBgQGB1ApBB4NYlNWwShBtUJUgInIgVVsB7BAQISBqwDBrAGCwElAoInBhINBDAQNB0AmHBwOqBYICChSfBAYOoAwWAlQFB1WoA4IYDE4NoE5AAblNVLYIAjkrdBT5Andd5IAagWlE4KsBE8QmBUEgnrrQnmqwn/E/4n/E4elE8sAkonprQnjlNWqtoE8cKJ4NgE8cCyta0AnjgGVrAmkgGq1AFDA="))
};
// --------------------------------------------------------------------------------------------------
@ -288,7 +297,7 @@ function drawCursors(clear) {
g.drawImage(SELECTORTILES, SCREENOFFSETX + spritePos[i][0], screenOffsetY + spritePos[i][1], {
frame: ((clear ? 8 : 0) + (i % 8))
});
g.setColor(1, 1, 1);
g.setColor(g.theme.bg);
}
//returns 1 if cursor has changed / needs redraw
@ -1285,7 +1294,7 @@ function drawLevelSelect(partial) {
if(partial == 2) {
//clear parts of loading text
g.setColor(0,0,0);
g.setColor(g.theme.bg);
g.fillRect(SCREENOFFSETX + (boardX + boardWidth) * TILESIZE, screenOffsetY + 3 * TILESIZE, SCREENOFFSETX - 1 + (boardX + MAXBOARDWIDTH + 5) * TILESIZE, screenOffsetY - 1 + 6 * TILESIZE);
}
@ -1728,7 +1737,7 @@ function drawMenuSelector(tile) {
function drawMenuItems(clear) {
if (clear) {
g.setColor(0, 0, 0);
g.setColor(g.theme.bg);
switch (titleStep) {
case TSMAINMENU:
g.fillRect(SCREENOFFSETX + 5 * TILESIZE, screenOffsetY + 4 * TILESIZE, SCREENOFFSETX + 13 * TILESIZE, screenOffsetY + 8 * TILESIZE);
@ -1744,7 +1753,7 @@ function drawMenuItems(clear) {
break;
case TSOPTIONS:
g.fillRect(SCREENOFFSETX + 3 * TILESIZE, screenOffsetY + 4 * TILESIZE, SCREENOFFSETX + 11 * TILESIZE, screenOffsetY + 5 * TILESIZE);
g.fillRect(SCREENOFFSETX + 2 * TILESIZE, screenOffsetY + 5 * TILESIZE, SCREENOFFSETX + 15 * TILESIZE, screenOffsetY + 10 * TILESIZE);
g.fillRect(SCREENOFFSETX + 2 * TILESIZE, screenOffsetY + 5 * TILESIZE, SCREENOFFSETX + 16 * TILESIZE, screenOffsetY + 10 * TILESIZE);
break;
}
} else {
@ -2441,15 +2450,33 @@ function setup() {
//only once they update themselves
Bangle.drawWidgets();
}
//calculate screenoffset y position taking apprect into account
screenOffsetY = ((SCREENHEIGHT + Bangle.appRect.y - 8 * TILESIZE) >> 1);
//change color palette to theming options for the images
if(g.theme.bg != g.theme.fg) {
SELECTORTILES.palette[1] = g.theme.bg;
SELECTORTILES.palette[2] = g.theme.fg;
TITLE.palette[3] = g.theme.bg;
TITLE.palette[2] = g.theme.bg;
TITLE.palette[1] = g.theme.fg;
BLOCKTILES.palette[0] = g.theme.bg;
BLOCKTILES.palette[1] = g.theme.fg;
CONGRATSSCREEN.palette[0] = g.theme.bg;
CONGRATSSCREEN.palette[1] = g.theme.fg;
CONGRATSTILES.palette[0] = g.theme.bg;
CONGRATSTILES.palette[1] = g.theme.fg;
}
}
function loop() {
//soundTimer();
let startTime = Date().getTime();
g.reset();
g.setColor(1, 1, 1);
g.setBgColor(0, 0, 0);
//print(g.theme.bg);
//print(g.theme.fg);
g.setColor(g.theme.fg);
g.setBgColor(g.theme.bg);
//gamestate handling