From dbef3b3d5709c0310256b7e672a4f51ee84fe1cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20=C4=8C=C3=AD=C5=BE?= Date: Sun, 20 Oct 2019 06:28:13 +0200 Subject: [PATCH] Start image compression --- assets.h | 1128 ++++++++++++++------------------------ assets/img2array.py | 80 ++- assets/wall_texture0.png | Bin 0 -> 1150 bytes 3 files changed, 469 insertions(+), 739 deletions(-) create mode 100644 assets/wall_texture0.png diff --git a/assets.h b/assets.h index 5bc46f1..90c4956 100644 --- a/assets.h +++ b/assets.h @@ -2,7 +2,9 @@ @file assets.h This file containts assets to be used in the game. Textures are stored by - columns for cache friendliness (as rendering also happens by columns). + columns for cache friendliness (as rendering also happens by columns), + 4 bits per pixel, which means an index to 16 color subpalette stored at the + beginning of the image. by Miloslav Ciz (drummyfish), 2019 @@ -17,6 +19,8 @@ #define SFG_TEXTURE_SIZE 32 +#define SFG_TEXTURE_STORE_SIZE (16 + (SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE) / 2) + /** Color index which will in textures and sprites be considered transparent. */ @@ -29,701 +33,411 @@ static inline uint8_t SFG_getTexel(const uint8_t *texture, uint8_t x, uint8_t y) { - return texture[(x & 0x1f) * SFG_TEXTURE_SIZE + (y & 0x1f)]; + x &= 0x1f; + y &= 0x1f; + + return texture[ + (texture[16 + (x * SFG_TEXTURE_SIZE + y) / 2] >> (4 * (y % 2))) & 0x0f]; } SFG_PROGRAM_MEMORY uint8_t -SFG_texturesWall[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] = +SFG_texturesWall[][SFG_TEXTURE_STORE_SIZE] = { { // 0: white wooden planks -4,4,4,21,4,4,4,3,5,4,4,21,5,21,4,4,57,21,20,4,4,21,21,4,20,4,4,3,4,3,5,4,4,4,21, -21,21,4,4,18,5,4,4,21,21,21,4,21,57,21,20,21,4,21,21,4,20,17,6,20,5,3,5,4,4,4, -21,21,21,4,4,26,5,4,4,21,5,4,21,21,49,4,3,21,4,4,21,4,3,18,2,3,0,26,136,81,4,4, -21,5,21,4,4,2,5,21,4,4,21,4,4,21,73,21,3,4,4,4,4,4,74,21,4,4,4,5,4,4,4,4,21,21, -5,4,4,2,5,4,4,21,4,4,4,21,65,5,3,4,4,4,4,4,3,4,4,4,4,5,4,4,4,4,21,21,5,4,4,26,5, -4,21,21,4,21,4,4,65,5,3,4,4,21,4,4,3,21,4,4,4,21,4,4,4,4,4,21,21,4,4,3,5,4,21,5, -4,4,4,4,1,5,3,4,4,4,4,4,3,4,4,4,21,5,4,20,20,4,21,21,5,4,4,20,5,3,4,4,4,3,4,4,1, -5,3,4,4,4,4,4,3,21,4,4,5,5,4,20,4,4,21,21,5,4,4,2,6,5,3,5,5,4,5,6,49,5,3,4,4,21, -4,4,3,21,4,4,21,5,4,4,4,4,4,5,5,4,4,56,0,0,0,0,0,0,0,0,0,22,3,4,4,5,4,4,3,21,4, -4,5,21,4,3,4,4,4,5,21,4,4,3,5,4,4,4,5,4,4,5,2,5,3,4,4,21,4,4,3,21,4,4,5,5,21,3, -4,4,21,5,21,21,4,3,5,4,4,4,5,4,4,4,1,5,3,4,4,5,4,4,4,4,4,4,5,5,4,3,4,20,4,5,21, -4,4,3,21,4,4,4,5,4,5,4,25,5,3,4,4,5,4,4,3,4,4,4,5,21,21,3,4,4,21,5,5,21,4,3,4,4, -21,4,5,4,5,4,73,5,3,4,4,21,4,21,3,5,4,21,5,5,4,3,4,20,21,21,21,4,4,3,4,4,21,4,5, -4,21,4,57,5,3,4,4,21,20,4,3,5,4,21,5,5,4,26,4,3,4,21,21,21,4,3,4,4,21,4,5,4,21, -4,65,6,4,5,4,5,4,5,4,5,3,4,21,5,4,3,4,4,4,4,21,21,4,3,4,4,21,21,5,4,21,4,0,17,0, -16,0,16,0,10,26,4,4,4,21,5,4,3,4,4,4,4,21,4,4,3,4,4,4,5,5,4,21,4,3,4,3,4,3,4,4, -3,4,4,4,4,21,21,4,20,4,4,4,4,21,21,4,3,4,4,4,21,5,4,21,4,3,4,3,4,4,4,4,3,4,21,4, -21,21,5,4,3,4,4,4,4,5,4,4,26,21,4,4,21,5,4,21,4,3,4,4,4,4,21,4,4,4,21,3,5,5,5,4, -3,4,4,4,21,5,21,4,3,21,4,4,21,21,20,5,4,26,4,3,4,4,4,21,4,4,21,3,21,5,5,4,3,20, -4,21,4,5,21,4,3,4,20,4,5,4,20,21,4,3,4,3,21,4,4,21,4,4,4,3,21,5,5,4,3,20,4,4,4, -5,4,4,3,21,4,4,21,4,4,4,4,3,4,3,21,4,4,21,4,20,21,3,4,5,5,4,3,3,21,4,4,21,21,4, -3,21,4,4,5,4,4,4,4,3,4,3,21,4,21,5,4,4,4,3,21,5,5,4,3,20,4,4,4,21,4,21,3,21,4,4, -5,4,21,4,4,26,21,3,21,21,21,21,4,4,4,3,4,5,4,4,3,4,4,4,4,21,4,21,3,21,4,4,21,4, -5,4,4,2,21,20,5,21,21,5,4,20,4,3,4,5,21,21,3,5,5,4,5,4,4,6,82,21,4,4,21,21,5,4, -4,2,21,3,21,21,21,21,4,20,5,20,4,5,4,4,3,0,20,96,20,2,18,20,0,21,4,4,21,21,21,4, -4,2,21,3,21,21,5,21,4,3,5,3,4,21,4,21,3,3,3,3,4,3,3,3,3,21,4,4,21,21,4,4,4,2,5, -3,5,4,21,21,3,20,5,3,4,5,4,4,3,4,4,4,21,4,4,4,3,5,4,4,21,5,21,4,4,65,21,3,21,4, -5,21,4,20,5,20,4,21,4,4,3,4,4,4,21,4,4,4,26,5,4,4,21,21,4,4,21,224,5,20,4,4,21, -21,4,3,5,4,4,21,4,5,3,4,4,4,21,4,4,4,18,5,21,4,5,5,4,4,4,57,21,20,4,4,21,21,20, -3,4,4,4,4,4,5,4 +4,21,5,3,20,0,2,26,6,18,57,65,1,16,17,49,0,1,0,3,32,1,33,0,161,64,1,16,64,3,3, +32,0,17,16,9,32,1,17,1,161,65,1,16,78,132,35,32,0,17,16,7,32,1,32,17,240,49,0, +16,57,99,87,206,0,18,16,6,33,0,16,1,177,48,0,0,97,0,2,0,0,17,32,6,32,1,0,1,178, +48,0,0,48,0,2,0,0,17,32,7,32,17,1,0,178,48,1,0,49,0,1,0,0,1,16,3,32,18,0,0,194, +48,0,0,48,0,18,4,64,17,32,4,35,0,3,0,194,48,0,0,49,0,34,4,0,17,32,6,130,50,32, +40,242,48,1,0,49,0,18,0,0,2,32,12,85,85,85,85,81,48,2,0,49,0,33,3,0,2,16,3,32,0, +32,2,98,48,1,0,49,0,34,19,0,18,17,3,32,0,32,0,194,48,2,0,0,0,34,3,4,2,16,3,16,0, +32,32,226,48,2,0,48,0,33,19,0,18,33,3,0,16,32,32,178,48,1,1,50,1,34,3,4,17,16,3, +0,16,32,16,162,48,1,64,50,1,34,7,3,1,17,3,0,16,32,16,184,2,2,2,2,48,18,3,0,0,17, +3,0,17,32,16,94,93,93,89,112,0,18,3,0,0,16,3,0,2,32,16,48,48,48,3,0,0,17,4,0,0, +17,3,0,1,32,16,48,48,0,3,1,1,18,3,0,0,32,7,16,1,32,16,48,0,1,0,1,50,34,3,0,1,33, +3,16,1,20,32,112,48,0,16,1,49,34,3,64,16,33,3,4,2,4,16,48,49,0,16,0,49,34,3,64, +0,32,3,16,1,0,0,48,49,0,16,65,48,34,3,49,0,17,3,16,2,0,0,48,49,1,32,0,49,34,3, +64,0,16,19,16,2,1,0,113,49,17,16,0,48,32,3,0,0,16,19,16,1,2,0,97,66,17,32,64,48, +33,19,34,2,0,137,16,1,18,0,97,49,17,16,66,64,32,3,84,212,105,69,16,1,17,0,97,49, +18,16,50,48,16,19,51,48,51,51,16,1,16,0,98,50,1,19,66,48,32,3,0,1,0,3,32,1,33,0, +177,49,2,16,66,64,16,3,0,1,0,7,32,1,16,1,82,64,1,16,50,0,16,35,0,1,0,9,33,2,32, +0,161,64,1,20,48,0,0,32 }, { // 1: skyscraper window -5,4,131,4,44,4,132,4,3,66,3,5,4,4,4,4,4,5,3,132,4,5,4,44,4,4,3,4,5,44,4,4,4,4, -131,4,4,4,4,4,4,66,2,4,4,4,5,5,4,4,3,4,4,4,5,5,4,5,3,4,4,44,4,132,4,4,131,4,4,4, -44,4,4,2,2,5,4,4,4,4,4,4,3,3,4,5,5,4,4,5,3,4,5,4,4,4,5,51,3,4,4,4,4,3,3,1,2,3,4, -3,50,3,137,0,1,50,3,3,44,4,4,3,131,4,5,5,4,4,59,67,2,66,2,3,3,3,3,3,3,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,59,2,2,4,4,4,2,8,66,3,6,6,6,6,6,6,6,6,5,5,6,5,6,6,5,6,5,6,6, -5,6,6,4,50,3,3,83,2,5,5,60,3,6,5,5,5,5,4,5,5,4,5,5,5,5,5,5,4,5,5,4,5,5,5,3,138, -4,5,5,5,5,86,4,3,6,5,128,138,59,2,129,2,137,81,138,2,137,128,81,81,6,5,5,4,5,5, -4,217,4,5,5,85,4,3,2,81,5,5,0,48,2,129,59,81,128,81,81,48,81,137,48,128,6,5,5,5, -5,5,3,2,4,4,4,4,66,2,2,81,6,4,48,128,59,59,2,81,81,2,2,129,81,48,81,81,6,5,5,5, -4,5,4,2,81,66,49,2,45,4,3,3,4,4,2,81,81,81,81,129,59,129,59,2,81,0,81,128,6,5,5, -5,5,5,3,2,4,4,4,4,5,5,3,4,4,5,138,128,81,48,137,81,137,2,2,138,81,81,81,81,6,5, -5,6,20,5,4,2,4,4,4,4,4,4,4,3,6,5,81,138,128,128,81,81,81,81,130,128,81,129,81, -81,6,5,5,4,5,5,4,2,4,3,4,4,4,4,3,59,6,4,2,2,81,81,137,128,48,138,3,81,48,81,48, -48,6,5,5,5,5,5,3,2,4,4,3,4,4,4,4,2,5,5,59,139,128,0,81,2,48,81,137,0,48,48,48, -48,6,5,4,5,5,5,4,138,4,4,4,4,4,4,3,66,6,4,68,6,6,6,6,6,6,6,6,6,6,6,68,6,6,5,5,5, -4,5,26,3,4,4,4,44,4,4,4,82,5,5,6,6,76,6,60,6,76,6,61,6,68,6,61,68,6,5,5,5,5,5,3, -3,4,4,4,4,4,4,3,81,6,5,130,59,3,130,2,0,0,138,2,81,0,0,0,0,6,5,4,28,5,5,3,2,4,3, -3,3,2,2,49,2,6,4,3,59,59,59,2,129,2,81,216,0,0,0,0,0,6,5,5,5,5,5,26,2,2,4,3,3,5, -4,2,66,6,5,59,59,4,3,59,129,59,48,0,0,0,0,0,0,6,5,5,5,5,6,4,81,4,4,4,5,4,5,2, -218,6,5,51,3,59,59,4,2,216,48,0,0,0,48,0,0,6,5,5,5,5,5,26,131,4,4,4,4,44,4,5,66, -6,5,59,59,3,59,59,2,129,48,0,48,48,0,0,0,6,5,5,4,5,5,3,3,4,4,4,4,4,4,4,138,5,5, -3,59,59,3,3,81,138,128,0,48,48,48,81,0,6,5,5,4,5,5,4,2,4,4,4,4,4,5,3,131,6,5,59, -3,51,137,137,48,2,138,0,0,0,48,48,0,6,5,4,5,28,4,3,3,4,4,3,4,4,4,51,2,5,5,59,59, -59,130,0,0,81,48,0,0,0,0,0,0,6,5,5,4,5,5,2,3,4,4,4,4,4,5,3,2,6,5,5,5,5,5,5,5,5, -5,5,5,5,5,5,5,4,5,4,5,4,5,2,4,4,4,4,4,3,4,131,56,6,5,5,5,6,5,5,5,5,5,5,6,6,6,5, -5,5,5,5,5,5,6,131,3,4,4,3,3,3,50,2,3,3,3,2,51,3,51,3,3,131,2,3,2,2,3,3,3,4,3,3, -4,3,4,50,4,5,86,5,6,2,3,50,4,4,4,5,4,132,4,2,3,3,3,3,3,3,3,50,1,3,2,3,3,3,3,3,2, -2,2,3,66,44,60,66,4,4,4,4,4,4,139,3,4,4,4,5,4,4,5,3,3,5,4,5,4,45,4,4,131,4,4,5, -4,4,44,2,4,4,4,4,4,4,138,4,4,4,4,4,4,4,5,3,3,4,4,4,5,4,5,4,3,5,45,4,4,4,5,131,4, -5,132,4,4,4,131,3,5,4,4,5,5,4,4,51,4,4,4,4,5,5,5,51,5,5,4,61,4 +4,5,3,6,2,81,0,59,48,128,138,131,66,44,137,129,16,176,208,176,44,33,0,0,1,43,1, +13,0,32,29,0,0,176,0,0,12,64,0,17,0,32,0,17,1,32,13,11,0,176,0,208,4,65,0,0,0, +34,1,16,1,32,16,0,23,32,0,2,40,66,2,194,230,140,34,208,2,176,17,0,119,76,66,34, +34,34,34,34,34,34,34,34,34,116,64,0,72,194,51,51,51,51,17,49,51,19,19,49,51,12, +34,36,17,210,49,17,16,17,1,17,17,16,17,1,17,42,1,17,17,2,49,154,116,244,229,164, +233,85,49,16,17,14,1,16,2,69,17,104,79,117,149,88,94,137,49,17,17,36,0,0,196,69, +48,137,119,69,84,79,88,85,49,17,1,4,92,244,0,34,0,69,85,95,127,116,86,89,49,17, +17,36,0,0,17,32,1,169,88,229,228,74,85,85,49,19,1,4,0,0,0,2,49,90,153,85,85,169, +95,85,49,16,17,4,2,0,0,39,48,68,85,233,138,37,133,136,49,17,17,36,0,32,0,4,17, +122,150,84,133,230,136,136,49,1,17,10,0,0,0,44,48,35,51,51,51,51,51,35,49,17,1, +66,0,13,0,4,17,51,3,211,3,3,35,2,49,17,17,34,0,0,0,37,49,167,42,70,106,69,102, +102,49,0,17,36,2,34,68,244,48,39,119,79,69,150,102,102,49,17,17,68,64,34,16,76, +49,119,2,127,120,102,102,102,49,17,19,5,0,1,1,74,49,114,119,4,152,102,104,102, +49,17,17,75,0,0,208,28,49,119,39,116,248,104,134,102,49,16,17,34,0,0,0,10,17,39, +114,37,169,104,136,86,49,16,17,4,0,0,1,43,49,114,126,232,74,102,104,134,49,1,0, +34,0,32,0,116,17,119,122,102,88,102,102,102,49,16,17,66,0,0,1,36,49,17,17,17,17, +17,17,17,1,1,1,64,0,0,32,184,49,17,49,17,17,19,51,17,17,17,19,178,0,34,44,66,34, +71,39,34,180,36,66,34,2,32,32,192,17,19,66,192,0,16,176,66,34,34,34,200,36,34, +34,36,68,44,221,192,0,0,10,32,0,16,1,34,16,16,0,11,0,16,13,64,0,0,10,0,0,0,1,34, +0,1,1,2,16,0,1,176,27,0,11,33,0,17,0,112,0,1,17,113,16,0 }, { // 2: pink high-tech wall -12,12,12,83,12,12,83,83,12,83,83,12,11,11,12,12,11,11,11,83,11,11,11,83,4,4,4,4, -4,4,4,4,12,12,12,12,12,83,12,12,12,11,12,12,11,11,83,12,12,11,12,11,11,11,11,11, -4,4,4,4,4,4,4,4,12,12,12,12,12,12,12,84,12,12,11,83,12,84,12,83,11,83,11,83,12, -11,83,11,5,4,4,4,4,4,4,4,12,12,12,12,12,12,12,11,12,12,83,83,83,83,83,83,83,83, -83,83,83,83,83,84,5,4,5,4,4,4,4,4,12,12,12,12,83,12,83,11,12,84,12,83,4,4,4,4, -20,4,4,4,20,4,4,85,5,3,5,3,5,3,4,4,83,83,83,83,83,83,83,83,83,12,83,83,20,84,20, -84,61,83,83,83,83,83,83,83,5,3,5,3,5,4,4,5,61,61,61,61,61,61,61,61,61,83,12,83, -4,84,20,61,83,83,61,61,61,61,61,61,6,4,5,3,5,3,4,5,12,12,12,12,12,12,12,84,61, -83,12,83,4,20,20,61,83,20,20,20,20,20,4,85,5,3,5,3,5,4,4,5,12,12,12,12,12,12,12, -11,61,83,84,83,4,20,20,61,83,20,20,20,84,20,84,85,6,4,6,3,5,4,5,4,12,12,12,12, -84,12,12,20,61,83,13,83,20,84,20,61,83,20,20,20,20,3,4,85,5,4,5,4,5,4,4,5,12,12, -12,12,83,83,83,83,83,83,83,83,83,83,83,83,83,84,20,84,84,20,20,85,6,4,6,3,5,4,5, -4,12,12,12,61,83,61,61,61,61,61,61,61,61,61,61,83,84,84,20,84,20,84,4,85,6,4,6, -4,6,4,5,5,12,12,12,61,83,12,12,20,20,13,12,83,84,84,84,20,84,20,20,20,20,20,84, -85,5,4,6,4,5,4,5,5,12,13,13,61,83,12,12,12,13,12,84,83,4,20,84,20,20,20,20,84,4, -20,4,85,6,4,6,4,6,5,5,5,12,84,12,61,83,84,84,84,84,84,84,83,20,84,20,20,20,20, -20,84,4,84,84,85,6,4,6,4,5,4,5,5,12,20,12,61,83,12,84,12,84,84,12,83,84,20,20, -20,20,20,20,20,84,20,20,85,6,4,6,4,6,5,5,5,12,13,13,61,83,20,20,84,84,13,84,83, -4,84,84,4,84,20,84,84,4,84,84,85,6,4,7,4,6,5,5,5,12,84,84,61,83,12,84,13,13,13, -85,83,84,84,84,4,4,84,20,84,4,84,20,85,6,4,6,4,5,5,5,6,12,13,13,61,83,13,13,20, -13,84,12,83,20,84,20,84,4,4,20,84,84,84,20,85,7,5,6,5,6,5,5,5,12,13,13,61,83,13, -20,13,13,13,85,83,4,20,4,4,4,4,84,84,4,4,4,85,6,5,5,5,5,5,5,5,12,84,13,61,83,84, -13,20,13,13,85,83,20,4,4,4,4,4,84,84,84,4,20,85,6,5,6,5,5,5,5,6,12,13,13,61,83, -83,83,83,83,83,83,83,83,83,83,83,84,4,4,84,84,84,84,85,6,5,5,6,6,5,5,6,12,85,85, -13,61,61,61,61,61,61,61,61,61,61,61,61,83,4,4,4,20,84,84,85,6,6,5,5,5,6,5,6,12, -13,85,85,13,85,85,85,61,83,85,83,4,4,4,61,83,4,4,4,84,84,3,85,6,5,5,6,5,5,5,5, -12,20,85,13,13,85,85,13,61,83,85,83,3,4,4,61,83,4,4,4,4,4,20,85,6,6,6,5,5,6,5,6, -12,20,13,13,13,13,13,85,61,83,12,83,84,4,4,61,83,4,4,84,20,3,84,85,5,7,5,6,5,6, -5,6,83,83,83,83,83,83,83,83,61,83,85,83,20,84,4,61,61,83,83,83,83,83,83,83,5,6, -5,6,5,7,5,6,61,61,61,61,61,61,61,61,61,13,13,83,84,3,3,20,61,61,61,61,61,61,61, -61,5,7,5,6,5,5,5,7,12,85,85,85,13,85,85,85,85,13,85,83,3,84,20,84,3,84,3,20,84, -3,3,85,5,6,5,7,5,6,5,6,12,12,13,13,13,85,14,85,15,85,85,84,85,85,85,85,85,85,85, -85,85,85,85,85,5,7,5,5,5,7,5,7,12,20,85,13,13,85,85,12,85,85,13,85,85,14,85,13, -85,84,14,84,84,84,85,12,5,7,5,7,5,6,5,6,12,12,85,20,13,13,13,85,13,85,85,13,13, -84,13,13,13,13,13,13,13,13,84,85,5,6,5,6,5,6,6,6 +83,4,12,5,84,20,61,85,13,6,11,3,7,14,15,0,34,32,34,0,32,2,170,34,170,160,170, +160,17,17,17,17,34,34,32,34,42,34,170,2,42,42,170,170,17,17,17,17,34,34,34,36, +34,160,36,32,160,160,42,10,49,17,17,17,34,34,34,42,34,0,0,0,0,0,0,4,49,49,17,17, +34,34,2,10,36,32,17,17,81,17,81,23,59,59,59,17,0,0,0,0,2,0,84,84,96,0,0,0,59,59, +49,19,102,102,102,102,96,32,20,86,0,102,102,102,145,59,59,19,34,34,34,36,96,32, +21,86,5,85,85,23,59,59,49,19,34,34,34,42,96,64,21,86,5,85,69,71,145,155,49,49, +34,34,66,37,96,128,84,86,5,85,91,23,49,49,49,19,34,34,0,0,0,0,0,0,4,84,69,87, +145,155,49,49,34,38,6,102,102,102,102,96,68,84,84,23,145,145,145,51,34,38,2,37, +88,32,68,69,69,85,85,71,49,145,49,51,40,134,2,34,130,64,21,69,85,84,21,23,145, +145,147,51,36,38,4,68,68,64,84,85,85,84,20,71,145,145,49,51,37,38,2,66,68,32,69, +85,85,85,69,87,145,145,147,51,40,134,5,84,72,64,20,65,69,68,20,71,145,193,147, +51,36,70,2,72,136,112,68,65,20,84,20,87,145,145,51,57,40,134,8,133,132,32,84,84, +17,84,68,87,195,147,147,51,40,134,8,88,136,112,21,17,17,68,17,23,147,51,51,51, +36,134,4,133,136,112,81,17,17,68,65,87,147,147,51,57,40,134,0,0,0,0,0,0,65,20, +68,71,147,57,147,57,39,120,102,102,102,102,102,102,1,17,84,71,153,51,57,57,40, +119,135,119,96,112,17,22,1,17,68,183,147,57,51,51,37,120,135,120,96,112,177,22, +1,17,17,87,153,147,57,57,37,136,136,135,96,32,65,22,1,20,91,71,60,57,57,57,0,0, +0,0,96,112,84,22,96,0,0,0,57,57,60,57,102,102,102,102,104,128,75,181,102,102, +102,102,60,57,51,60,39,119,135,119,120,112,180,84,180,181,75,183,57,60,57,57,34, +136,135,215,231,116,119,119,119,119,119,119,60,51,60,60,37,120,135,114,119,135, +125,120,116,212,68,114,60,60,57,57,34,117,136,135,135,120,132,136,136,136,136, +71,57,57,57,153 }, { // 3: partly mossy concrete wall -4,5,4,4,4,4,37,4,5,4,4,4,4,4,4,3,4,37,5,37,4,3,20,4,4,20,3,19,3,36,19,3,4,4,5,4, -76,4,5,4,4,4,3,4,36,4,3,11,12,36,36,4,20,3,36,37,36,4,3,4,12,3,4,130,4,5,4,4,4, -4,4,4,4,4,4,4,4,4,19,11,4,36,36,4,36,3,36,4,36,36,3,36,4,3,3,3,4,4,5,4,3,4,36,4, -4,4,3,4,4,4,4,11,4,4,4,4,4,3,20,36,4,4,3,12,3,36,3,3,4,5,4,4,4,37,36,4,4,4,3,4, -4,4,3,11,12,36,20,3,12,3,37,37,20,36,3,4,4,4,3,3,4,5,4,4,3,5,4,4,4,4,4,4,4,4,4, -76,4,20,4,4,4,4,20,36,36,4,3,36,19,3,3,3,4,4,4,4,4,36,37,4,37,4,4,4,4,4,4,3,4, -36,37,4,3,36,4,36,37,36,3,4,4,19,4,3,4,5,4,4,35,5,4,4,4,4,3,4,4,4,4,3,19,20,4, -36,4,3,36,4,36,36,3,4,3,3,3,3,3,36,4,4,3,4,36,4,4,4,3,4,4,4,3,11,4,37,20,4,12,3, -36,36,4,36,36,3,4,3,4,130,4,5,4,4,4,4,5,5,4,4,4,4,4,4,4,11,37,37,4,36,4,3,20,36, -37,20,4,36,12,4,3,3,4,4,5,20,4,37,4,20,5,4,76,4,4,4,4,11,4,20,4,20,4,36,36,20, -37,36,3,4,3,3,4,3,5,5,4,4,4,5,5,4,4,4,4,4,4,12,4,3,4,36,5,4,36,3,4,36,36,36,12, -12,36,3,12,3,4,20,5,4,76,4,20,5,4,4,4,4,4,4,4,12,4,37,37,20,4,3,36,36,20,36,12, -4,4,4,3,2,4,5,5,4,76,5,5,4,4,77,4,4,4,4,4,11,20,20,5,4,20,4,4,37,4,36,36,3,4,4, -4,2,4,5,4,5,76,4,4,4,4,4,76,4,4,4,4,76,4,37,37,4,36,3,36,4,36,36,12,4,4,3,3,130, -4,4,5,4,4,5,4,4,4,3,76,4,4,4,4,3,36,36,4,4,4,3,4,36,36,36,3,130,4,4,3,130,4,5,4, -4,76,4,5,4,4,4,4,4,4,76,4,11,4,4,36,4,4,36,4,36,36,4,35,4,3,11,4,3,4,5,5,4,76,5, -4,20,5,4,4,4,4,4,4,76,4,20,5,20,4,36,4,4,36,36,4,4,3,4,3,3,5,5,13,5,76,4,5,5,4, -4,76,4,4,4,4,76,36,5,36,4,4,3,37,36,20,36,19,4,4,4,4,11,4,4,5,77,4,5,5,20,4,4,4, -4,77,5,4,11,4,37,5,4,20,3,20,4,36,4,3,12,4,3,4,3,4,5,5,4,76,20,5,5,4,76,4,4,4, -13,4,11,20,20,36,5,4,3,4,4,4,36,3,4,12,4,4,3,5,20,5,5,4,5,4,4,4,4,4,4,4,4,4,11, -4,4,4,4,4,4,36,4,4,4,3,12,4,12,3,3,4,5,5,77,4,20,5,4,5,77,4,4,4,4,4,11,4,37,20, -4,20,4,5,36,4,4,11,12,4,4,4,3,4,5,20,4,76,5,5,13,4,76,4,4,5,4,4,11,36,4,36,4,4, -3,37,37,4,4,3,3,4,4,36,3,4,5,5,4,4,36,4,5,4,4,4,20,4,4,4,11,4,37,20,4,4,4,4,4,4, -20,4,4,12,4,4,3,4,20,5,5,76,5,4,5,4,76,76,5,5,4,4,11,37,37,5,20,36,4,20,36,4,37, -4,3,4,4,4,130,4,5,5,4,76,5,13,4,77,4,4,20,36,20,4,11,4,20,4,4,4,3,4,20,4,4,4,4, -12,4,12,3,4,5,13,5,4,5,4,4,4,4,4,4,4,5,4,3,4,37,37,37,20,4,35,36,4,20,36,4,4,4, -4,3,4,5,5,4,4,4,5,77,4,4,3,37,4,20,4,11,20,4,20,20,5,35,4,20,36,4,4,4,3,12,3, -130,4,5,5,4,76,4,4,4,4,4,3,4,4,4,4,3,4,37,37,4,4,4,37,37,4,36,3,4,4,4,4,3,4,5, -13,5,4,4,4,4,4,4,3,4,36,4,3,3,37,20,37,37,4,4,36,4,20,4,19,4,3,19,3,3,4,4,5,4, -76,4,4,4,4,4,4,4,20,4,4,35,4,36,20,20,4,4,4,37,36,4,3,4,4,4,3,3 +4,3,5,36,20,37,76,12,11,19,77,130,13,35,2,0,2,0,0,80,32,0,0,1,5,37,1,64,4,25,19, +145,0,32,96,32,0,16,48,24,115,48,65,53,48,16,113,11,2,0,0,0,0,0,0,152,3,48,49, +48,51,19,1,17,0,32,16,48,0,16,0,8,0,0,1,67,0,23,19,17,2,0,5,48,0,16,0,24,115,65, +113,85,67,16,0,17,2,0,18,0,0,0,0,6,4,0,0,67,48,19,145,17,0,0,3,80,80,0,0,1,3,80, +19,3,83,16,9,1,2,0,210,0,0,16,0,1,148,3,1,48,51,16,17,17,19,0,16,48,0,16,0,24,5, +64,113,51,3,49,1,11,2,0,0,34,0,0,0,8,85,3,1,67,84,3,112,17,0,36,5,4,32,96,0,8,4, +4,3,52,83,16,17,1,34,0,2,32,0,0,7,1,3,32,49,3,51,119,49,113,4,32,96,66,0,0,0,7, +5,84,1,51,67,112,0,30,2,32,98,32,10,0,0,8,68,32,64,5,3,49,0,14,2,2,96,0,0,96,0, +6,5,80,49,48,51,112,1,27,0,32,2,0,1,96,0,1,51,0,1,3,51,27,0,27,2,0,96,32,0,0,6, +8,0,48,3,3,48,208,24,1,2,32,98,4,32,0,0,6,4,36,3,0,51,0,16,17,34,194,96,34,0,96, +0,6,50,48,1,83,67,144,0,8,0,42,2,36,0,0,162,8,5,32,65,64,48,23,1,1,2,32,100,34, +6,0,12,8,68,50,1,0,3,16,112,1,36,34,2,0,0,0,0,8,0,0,0,48,0,23,7,17,2,42,4,32,42, +0,0,8,5,64,64,35,0,135,0,1,2,64,98,44,6,0,32,8,48,48,1,85,0,17,0,49,2,32,3,2,0, +4,0,8,5,64,0,0,4,0,112,1,4,34,98,2,6,98,32,8,85,36,48,67,5,1,0,11,2,32,98,192, +160,4,52,8,4,0,1,4,0,0,112,113,2,194,2,0,0,0,2,1,5,85,64,211,4,48,0,1,2,32,0,42, +0,21,4,8,64,68,45,4,48,0,23,27,2,32,96,0,0,16,0,1,5,80,0,85,3,16,0,1,2,194,0,0, +0,16,48,17,84,85,0,48,64,144,25,17,0,32,96,0,0,0,64,13,3,68,0,5,48,16,0,17 }, { // 4: wooden chess pattern -43,19,43,11,43,10,43,43,43,83,65,83,83,43,83,83,2,11,11,11,11,1,11,11,11,11,73, -11,11,11,11,2,20,20,20,20,20,20,21,20,21,20,11,21,20,20,20,11,11,12,12,11,11,73, -12,12,12,12,2,11,12,12,12,11,20,20,20,20,20,43,21,20,20,21,19,20,20,21,21,11,11, -12,11,11,11,1,11,12,11,12,73,12,12,12,12,11,19,20,20,20,20,19,21,20,20,21,19,21, -20,21,21,11,11,12,11,11,12,73,11,12,12,11,1,12,12,12,12,11,43,20,20,21,20,43,21, -20,20,21,19,21,20,21,21,19,11,12,11,12,12,73,12,11,12,12,73,11,12,12,12,11,43, -20,20,20,20,43,21,20,20,21,19,21,20,20,21,19,11,12,11,11,12,2,11,11,11,12,73,11, -11,12,12,11,43,20,20,20,20,11,21,20,21,21,81,21,20,21,21,19,2,12,11,11,12,2,11, -11,11,12,2,12,11,12,12,11,43,20,20,21,20,11,21,20,20,20,81,21,20,20,21,19,11,12, -11,11,12,2,11,11,12,12,2,11,11,12,12,11,20,20,20,20,20,11,20,21,20,20,2,21,20, -20,21,43,82,12,11,11,12,2,11,11,12,12,1,11,11,12,12,11,20,20,20,20,20,11,21,21, -20,20,34,21,20,20,20,43,11,12,11,11,11,2,11,11,12,12,73,11,12,11,12,11,43,20,20, -20,20,19,20,21,20,20,19,21,20,20,21,43,11,12,11,11,12,2,12,11,11,12,73,12,12,12, -12,11,20,20,20,21,20,11,21,20,20,21,19,21,20,20,20,19,2,12,11,12,12,2,12,11,11, -12,2,12,12,12,12,11,20,20,20,20,20,11,20,20,20,20,19,20,20,20,20,19,11,11,11,11, -12,2,12,12,11,12,1,12,12,12,12,11,20,20,20,20,20,43,20,20,20,20,19,21,20,20,20, -12,11,12,11,11,11,2,12,12,11,12,1,11,12,12,12,11,20,21,20,21,21,43,21,20,20,20, -11,21,20,20,20,19,2,12,12,12,12,2,12,12,12,12,2,11,12,12,12,11,43,20,43,43,43, -19,20,43,43,43,42,20,43,43,43,43,2,2,2,2,2,1,2,11,2,2,1,2,2,2,11,2,2,11,11,11, -12,2,11,11,11,11,2,11,11,11,11,2,19,20,20,20,20,43,20,43,43,20,43,20,43,43,43, -11,2,12,11,11,12,2,11,12,11,11,2,12,12,11,12,11,20,21,20,21,21,43,21,20,20,21, -43,21,20,20,20,43,2,12,11,11,12,2,12,11,11,11,2,12,12,11,11,11,21,21,21,21,21, -19,21,21,20,21,43,20,20,43,20,43,2,11,11,11,12,2,12,11,11,11,2,12,12,11,12,11, -21,21,21,21,21,43,21,21,20,21,43,20,20,43,20,43,2,11,11,11,12,2,12,12,11,12,2, -12,12,12,12,11,20,20,21,21,21,19,21,21,20,21,43,20,20,43,20,43,2,12,11,11,12,2, -12,12,12,12,2,12,12,12,11,11,21,21,21,21,21,43,21,21,20,21,43,20,20,20,20,20,2, -12,11,11,12,2,12,12,12,12,2,12,12,12,12,11,20,20,21,21,21,19,21,20,21,21,43,20, -20,20,20,20,2,11,11,11,12,2,12,12,12,11,2,12,12,12,12,11,20,21,21,21,21,19,21, -20,21,21,43,20,20,43,20,43,2,12,11,11,12,2,12,12,11,12,2,12,12,12,12,11,20,21, -21,21,21,19,21,21,21,21,11,20,20,20,20,43,2,12,11,11,12,2,12,12,11,12,2,12,12, -12,12,11,20,21,21,21,21,19,21,21,21,21,43,20,20,12,20,43,2,12,11,11,12,2,12,12, -11,12,2,12,11,11,11,11,20,21,21,21,21,10,21,20,21,21,43,20,20,43,43,43,2,12,11, -11,12,2,12,12,12,12,2,11,11,11,11,2,20,21,21,21,21,2,21,20,20,21,43,21,20,12,20, -43,2,12,11,11,12,2,12,12,12,12,2,2,12,12,12,2,20,21,21,21,21,19,21,20,21,20,11, -21,21,20,20,43,2,12,11,12,12,2,11,11,12,12,2,11,12,12,12,11,20,21,20,20,21,2,21, -21,21,21,11,21,21,20,20,43,2,12,11,12,12,2,12,12,12,12,2,12,12,11,12,11,20,21, -21,21,21,19,21,21,20,20,11,21,21,20,20,43,11,20,43,20,19,81,20,20,43,20,19,43, -20,19,20,11,43,43,43,43,43,9,43,19,43,19,81,20,20,43,43,11 +20,12,11,21,2,43,19,73,1,83,81,10,9,34,42,65,86,82,91,85,89,249,149,153,66,34, +40,34,34,114,34,36,0,0,0,48,48,35,0,2,33,18,39,17,17,66,17,18,0,0,5,48,3,96,3, +50,33,34,40,33,33,113,17,18,96,0,6,48,3,99,3,50,33,34,23,33,18,129,17,18,80,3,5, +48,3,99,3,54,33,33,23,18,17,114,17,18,80,0,5,48,3,99,0,54,33,34,20,34,33,114,33, +18,80,0,2,48,51,163,3,54,65,34,20,34,33,65,33,18,80,3,2,48,0,163,0,54,33,34,20, +34,17,66,33,18,0,0,2,3,0,67,0,53,177,34,20,34,17,130,33,18,0,0,2,51,0,211,0,5, +33,34,36,34,17,114,18,18,80,0,6,3,0,99,0,53,33,34,20,18,33,113,17,18,0,3,2,48,3, +99,0,6,65,33,20,18,33,65,17,18,0,0,2,0,0,96,0,6,34,34,20,17,33,129,17,18,0,0,5, +0,0,99,0,1,33,34,36,17,33,130,17,18,3,3,53,48,0,35,0,6,65,17,20,17,17,66,17,18, +80,85,86,5,85,224,85,85,68,68,72,66,68,132,68,36,66,34,20,34,34,66,34,36,96,0,5, +5,80,80,85,82,65,34,20,33,34,65,18,18,3,3,53,48,3,83,0,5,65,34,20,18,34,65,18, +34,51,51,54,51,3,80,5,5,66,34,20,18,34,65,18,18,51,51,53,51,3,80,5,5,66,34,20, +17,33,65,17,18,0,51,54,51,3,80,5,5,65,34,20,17,17,65,17,34,51,51,53,51,3,80,0,0, +65,34,20,17,17,65,17,18,0,51,54,48,51,80,0,0,66,34,20,17,18,65,17,18,3,51,54,48, +51,80,5,5,65,34,20,17,33,65,17,18,3,51,54,51,51,32,0,5,65,34,20,17,33,65,17,18, +3,51,54,51,51,80,1,5,65,34,20,17,33,65,34,34,3,51,59,48,51,80,5,85,65,34,20,17, +17,66,34,36,3,51,52,48,3,83,1,5,65,34,20,17,17,68,17,20,3,51,54,48,48,35,48,5, +65,33,20,34,17,66,17,18,3,0,52,51,51,35,48,5,65,33,20,17,17,65,18,18,3,51,54,51, +0,35,48,5,32,80,106,0,80,101,6,2,85,85,92,86,86,160,5,82 }, { // 5: red brick wall -6,5,5,5,5,4,6,101,21,13,13,11,6,5,13,21,21,4,6,5,93,13,13,13,13,5,5,93,13,101, -93,4,6,101,13,13,101,11,6,101,101,101,101,11,6,13,93,13,13,93,5,5,93,13,13,13, -93,5,5,93,13,13,93,4,6,13,21,21,21,11,6,101,101,101,13,11,6,5,13,13,13,93,5,5, -101,21,21,21,101,5,5,93,4,13,93,4,6,13,13,21,21,93,6,4,21,21,13,11,6,5,13,21,13, -93,5,6,101,21,21,21,101,5,5,93,101,101,93,4,6,4,13,4,13,93,6,13,21,21,13,11,6,5, -13,21,13,93,5,6,93,13,21,21,101,5,5,93,101,101,93,101,6,4,13,13,13,93,6,4,13,21, -21,93,6,5,101,21,13,101,5,5,93,21,21,21,101,5,5,93,4,101,93,4,6,4,13,13,13,93,6, -4,101,21,13,93,5,5,101,21,13,13,5,5,93,21,21,21,101,5,5,93,4,101,93,93,6,4,13, -13,13,93,6,4,93,101,93,93,5,5,101,4,101,13,5,6,93,101,101,101,93,5,6,93,4,101, -93,93,6,13,101,101,13,93,6,6,5,5,5,5,6,5,101,4,101,21,5,6,5,6,6,6,6,6,6,93,13, -13,101,11,6,5,13,13,13,93,6,6,6,6,5,6,6,5,101,21,13,13,5,6,5,5,5,5,5,5,6,93,13, -13,101,93,6,21,13,21,21,11,6,6,93,13,93,106,5,5,101,21,21,13,4,6,100,13,13,13, -100,100,6,93,13,13,93,93,6,21,13,13,13,93,6,6,11,101,13,93,5,6,13,21,21,13,4,6, -100,5,13,13,5,5,6,93,13,13,101,101,6,5,13,13,13,93,6,6,11,101,4,93,5,5,101,5,21, -13,4,6,100,13,13,13,13,5,6,93,13,13,101,4,6,21,13,13,13,11,6,5,19,101,93,93,5,5, -93,21,21,101,4,6,100,5,13,13,13,5,6,93,101,101,101,4,6,21,13,13,13,93,6,5,93, -101,4,19,5,5,93,13,21,101,4,6,100,13,13,13,13,5,5,93,101,101,101,4,6,21,13,13, -13,93,6,5,11,101,93,93,5,5,93,13,21,101,5,6,100,13,13,13,13,5,5,93,13,101,101,4, -6,21,13,13,13,93,6,5,19,4,101,93,5,5,93,13,21,101,5,6,100,13,13,13,13,5,5,93,13, -101,101,4,6,21,13,21,13,93,6,5,93,101,13,19,5,5,101,13,21,101,5,6,100,13,13,13, -13,5,6,93,101,101,101,4,6,21,13,13,21,93,6,6,93,101,4,93,6,5,101,21,13,101,5,6, -100,13,13,13,100,5,6,11,13,101,101,93,6,5,93,13,13,11,6,5,93,101,13,93,6,5,93, -101,93,93,5,6,100,13,13,13,13,5,6,93,13,13,5,4,6,5,13,13,13,93,6,5,13,13,21,93, -5,5,6,6,6,6,5,6,100,13,13,13,13,5,6,6,6,6,7,5,6,6,6,7,7,6,6,5,13,13,13,93,5,5,5, -5,5,5,5,6,100,5,5,5,13,5,6,93,4,21,5,4,6,4,101,13,21,5,6,5,93,101,13,93,6,13,13, -13,13,93,4,6,100,13,5,5,5,5,6,93,21,21,13,4,6,13,101,13,13,93,6,5,93,101,4,19,6, -21,13,21,21,101,4,6,100,13,13,13,5,5,6,93,21,21,13,4,6,5,13,21,21,93,6,5,93,101, -93,11,6,21,21,21,21,101,5,6,5,13,13,13,5,5,6,101,21,21,13,4,6,5,13,21,21,93,5,5, -93,101,101,93,6,21,21,21,21,101,4,6,100,13,13,13,5,5,6,101,21,21,13,4,6,5,13,5, -21,93,5,5,93,101,4,93,6,21,21,21,21,13,4,6,100,5,5,5,5,5,5,101,13,21,13,4,6,21, -13,21,21,93,5,5,93,21,13,93,6,21,21,21,21,13,4,6,100,13,13,13,5,5,5,13,21,21,13, -4,6,21,13,21,21,101,5,5,93,101,4,93,6,5,21,5,5,21,4,5,100,13,13,13,5,5,6,101,21, -21,13,4,6,21,13,21,13,93,5,5,178,93,13,93,6,5,13,21,21,21,4,6,13,5,13,13,13,5,6, -93,13,21,13,4,6,21,13,21,21,93,5,6,6,6,6,6,6,5,13,21,21,13,3,5,6,6,7,7,7,6,6,93, -21,21,21,4,6,5,13,21,21,93,6,6,21,5,5,5,6,5,13,21,21,13,4,6,93,4,4,4,5,5,6,93, -13,13,13,4 +13,5,6,21,93,101,4,100,11,7,19,3,106,178,0,0,33,17,22,37,48,8,33,3,54,33,64,0,1, +20,5,70,37,0,88,37,85,88,32,64,4,17,64,0,65,20,0,70,32,51,56,37,85,8,33,0,4,17, +83,51,81,20,96,70,32,3,52,38,51,8,33,3,4,18,83,51,81,20,85,70,38,6,4,32,51,8,33, +3,4,18,64,51,81,20,85,69,38,0,4,38,3,52,33,83,5,17,67,51,81,20,101,70,38,0,4,38, +83,4,17,83,0,17,67,51,81,20,101,68,38,0,4,38,69,68,17,86,80,18,69,85,65,36,101, +68,32,85,4,34,17,17,33,86,83,18,18,34,34,36,0,88,33,0,4,34,34,18,33,83,0,18,17, +17,17,36,0,84,35,3,56,34,64,76,17,83,48,98,112,0,119,36,0,68,35,0,4,34,133,4,18, +3,48,98,113,0,17,36,0,85,33,0,4,34,133,100,17,81,48,98,112,0,1,36,0,86,35,0,8, +33,165,68,17,67,53,98,113,0,1,36,85,86,35,0,4,33,69,106,17,64,53,98,112,0,1,20, +85,86,35,0,4,33,133,68,17,64,53,18,112,0,1,20,5,86,35,0,4,33,166,84,17,64,53,18, +112,0,1,20,5,86,35,3,4,33,69,10,17,80,53,18,112,0,1,36,85,86,35,0,52,34,69,100, +33,83,5,18,112,0,113,40,5,84,33,64,8,33,69,4,33,69,68,18,112,0,1,36,0,22,33,0,4, +33,0,52,17,34,34,18,112,0,1,34,34,145,34,41,146,33,0,4,17,17,17,18,113,17,1,36, +99,22,38,80,49,33,69,4,32,0,4,98,112,17,17,36,51,6,32,80,4,33,69,106,35,3,53,98, +112,0,17,36,51,6,33,3,52,33,69,72,35,51,53,18,16,0,17,37,51,6,33,3,52,17,69,84, +35,51,53,98,112,0,17,37,51,6,33,1,52,17,69,100,35,51,48,98,113,17,17,21,3,6,35, +3,52,17,67,4,35,51,48,98,112,0,17,16,51,6,35,3,53,17,69,100,33,49,19,97,112,0, +17,37,51,6,35,3,4,17,212,4,33,3,51,98,1,0,1,36,3,6,35,3,52,18,34,34,33,3,48,177, +34,153,146,36,51,54,33,3,52,34,49,17,33,3,48,98,70,102,17,36,0,6 }, { // 6: grass-covered concrete wall, tiles with skyscraper window -36,35,123,35,35,35,131,36,35,42,35,4,36,36,36,3,3,4,35,131,3,4,36,43,36,36,35, -36,4,43,44,28,35,36,131,36,36,3,36,3,36,42,34,36,36,36,4,4,36,36,35,36,3,3,4,4, -36,4,50,36,43,36,36,37,36,107,43,36,37,37,36,36,36,34,34,4,3,36,36,36,3,3,50,50, -43,4,36,110,36,36,36,37,36,36,36,36,37,36,36,37,36,37,36,36,35,115,34,35,36,35, -42,36,107,209,114,42,35,34,36,37,110,36,43,131,36,37,36,36,42,42,107,36,36,36, -43,34,34,35,35,35,35,35,50,36,36,36,35,35,50,36,36,36,36,36,37,36,36,36,36,43, -37,37,37,36,37,37,109,36,36,5,5,5,37,4,36,36,36,43,43,5,4,36,43,36,37,133,37,36, -36,36,43,106,37,37,36,37,36,36,37,36,36,35,36,37,36,36,36,43,36,36,36,35,4,36, -36,36,36,36,43,36,43,36,36,36,36,37,37,36,37,37,36,36,36,37,36,35,36,43,107,36, -43,36,43,3,4,36,36,36,36,43,36,36,36,43,43,36,37,37,37,36,36,37,36,37,36,36,36, -36,43,43,131,36,43,36,36,36,36,37,37,36,37,36,43,36,36,36,43,36,36,37,36,36,36, -36,36,36,37,36,36,131,36,36,36,43,36,43,36,43,36,43,36,36,43,36,36,43,43,36,36, -36,43,43,36,37,37,35,35,36,36,3,107,36,36,36,36,43,36,36,43,36,36,36,37,37,36, -37,36,43,36,36,37,36,36,37,37,43,37,36,4,37,37,36,36,36,43,36,36,36,36,37,36,43, -36,43,36,4,36,36,36,132,43,36,36,43,36,37,43,34,37,43,36,4,36,37,43,36,36,36, -110,36,36,36,36,36,36,36,36,37,37,36,36,36,36,43,36,36,36,36,37,43,37,35,35,36, -36,36,37,36,36,110,36,36,36,37,36,36,43,36,37,43,37,36,36,36,36,36,36,36,37,36, -36,37,36,36,28,36,37,36,4,37,37,36,36,36,36,36,43,37,36,37,37,36,36,36,35,107, -36,36,43,107,36,36,36,107,4,36,36,36,131,37,36,36,36,36,36,36,36,36,36,37,36,36, -36,36,36,36,36,50,35,26,35,43,36,43,36,43,36,131,36,43,43,36,36,36,37,43,36,36, -37,37,36,36,36,37,37,37,107,36,36,36,36,3,3,36,43,36,36,36,36,36,36,36,36,36,37, -43,4,3,3,36,36,36,36,37,37,36,35,36,36,37,36,36,43,36,50,50,106,41,43,36,36,43, -36,43,43,36,37,37,36,4,4,36,107,36,43,36,36,36,37,37,36,36,114,36,36,36,131,35, -4,36,36,36,36,36,36,36,36,37,36,36,36,4,36,131,36,36,36,36,37,36,37,36,36,37,37, -43,107,36,36,36,36,43,36,43,36,36,43,43,43,36,36,43,36,36,36,36,36,3,36,36,36, -36,107,36,36,43,36,36,43,36,36,36,36,43,36,36,36,43,36,36,37,37,36,36,36,36,36, -36,3,3,43,43,43,36,36,36,36,36,36,36,36,36,36,36,36,43,36,36,36,37,37,36,35,36, -36,36,43,37,36,43,4,4,36,36,36,43,36,43,36,36,37,36,36,36,43,36,43,36,43,36,43, -107,36,37,43,36,36,36,36,36,43,43,36,107,36,36,36,36,35,36,36,35,36,36,36,131, -36,36,36,36,36,36,37,43,37,36,36,36,36,36,107,43,36,36,43,36,36,36,36,36,36,36, -43,37,43,36,36,36,43,36,36,36,37,37,37,37,36,36,36,36,36,36,43,37,43,36,36,36, -36,36,36,4,35,37,37,43,36,36,36,43,37,36,36,43,36,37,4,43,36,36,107,43,36,43,36, -36,36,36,36,36,43,43,36,36,37,37,36,37,36,36,36,36,36,36,37,37,36,36,37,37,43, -37,36,43,36,36,36,98,34,41,106,34,34,36,43,34,36,36,37,36,36,107,37,83,36,36,37, -36,37,36,36,36,37,36,43,36,43,36,42,34,35,35,35,26,35,114,42,106,50,34,34,37,36, -36,36,36,36,43,36,36,36,37,37,37,35,36,37,36,37,36,35,36,4,3,36,4,35,35,4,36,4, -36,44,36,37,36,36,131,107,36,37,21,37,36,37,36,37,36,35,122,35,50,50,3,36,36,36, -4,35,35,36,36,36,37,36,4,36,34,3,36,36,43,36,36,37,37,36,37,35,35,36,131,35,4, -36,36,4,4,36,36,43,36,36,36,36,4,4,4,43,4,37,36,43,36 +36,37,43,35,4,3,107,34,131,50,42,5,106,110,114,26,3,131,51,128,58,52,0,5,84,56, +84,2,0,48,66,0,48,128,5,5,10,112,0,68,0,48,85,68,4,144,32,1,6,32,17,0,7,116,80, +0,85,153,36,13,0,1,0,0,16,1,1,0,54,115,3,160,110,234,55,1,208,40,1,0,170,96,0, +39,115,51,51,144,0,51,144,0,0,16,0,2,17,16,17,208,11,187,20,0,2,43,64,32,17,16, +0,44,17,1,0,16,3,1,0,2,0,3,64,0,0,32,32,0,1,16,17,0,1,3,2,96,32,37,64,0,2,0,2, +32,17,16,1,1,0,0,34,128,32,0,1,16,16,32,0,32,1,0,0,0,16,8,0,2,2,2,2,0,32,2,32,0, +34,1,19,48,5,96,0,2,0,32,0,17,1,2,0,16,1,18,16,65,16,0,32,0,1,2,2,4,0,8,32,2,1, +39,18,4,1,32,0,208,0,0,0,1,16,0,2,0,0,18,19,48,0,16,13,0,1,0,32,18,16,0,0,0,16, +1,0,0,16,65,16,0,0,33,1,16,0,54,0,38,0,6,64,0,129,0,0,0,0,1,0,0,0,9,63,50,2,2,8, +2,32,0,18,0,17,0,1,17,96,0,5,80,32,0,0,0,0,18,69,80,0,1,16,48,1,0,32,153,206,32, +2,2,32,17,4,64,96,32,0,17,0,224,0,131,64,0,0,0,1,0,4,8,0,0,16,16,1,18,96,0,2,2, +0,34,32,2,0,0,5,0,0,96,2,0,32,0,2,0,2,0,17,0,0,0,85,34,32,0,0,0,0,0,2,0,1,16,48, +0,33,2,68,0,2,2,0,16,0,32,32,32,38,1,32,0,0,34,6,0,0,48,3,0,8,0,0,0,18,16,0,0, +98,0,32,0,0,0,33,32,0,32,0,17,17,0,0,0,33,32,0,0,4,49,18,0,2,16,2,1,66,0,98,2,0, +0,0,34,0,17,1,0,0,0,17,0,17,33,2,0,12,126,199,112,39,0,16,6,21,0,16,16,0,16,32, +32,167,51,63,62,172,151,113,0,0,2,0,1,17,48,16,16,48,69,4,51,64,64,0,16,8,96,27, +16,16,16,62,57,149,0,4,51,0,1,4,7,80,2,0,17,1,51,8,52,0,68,0,32,0,4,68,36,16,32 }, { // 7: steel door -4,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80, -80,80,80,80,80,80,6,6,6,5,6,6,6,5,6,6,6,5,6,6,6,5,6,6,5,6,6,6,5,6,6,6,5,6,6,6, -80,80,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,80,80,4,4,4,3, -4,4,4,3,4,4,4,3,4,4,4,3,4,4,3,4,4,4,3,4,4,4,3,4,4,4,80,80,81,2,74,2,2,74,74,2, -74,74,2,74,2,74,2,2,2,2,2,2,2,74,2,2,74,2,74,2,74,2,80,80,80,17,17,17,17,17,17, -17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,80,80,17, -58,58,58,58,58,58,58,59,58,59,59,59,59,67,3,3,3,3,3,68,3,67,3,3,68,3,3,3,3,58, -80,17,58,58,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,4,3,3,3,4,4,3,4,3,4,3,3,3,80,17,58,3, -3,58,58,68,58,58,68,4,68,59,68,4,69,4,69,4,5,4,4,4,4,4,4,69,4,5,4,69,80,17,50,3, -58,58,68,58,59,68,59,4,69,60,59,60,60,4,4,4,5,4,4,4,4,69,4,4,4,5,4,4,80,17,50,3, -50,59,58,58,68,58,59,5,69,60,68,60,4,4,4,4,5,4,4,4,4,4,4,69,4,70,4,4,80,17,50,3, -50,50,50,50,68,59,59,70,60,60,59,4,69,4,4,4,5,4,4,4,69,4,4,4,4,5,4,4,80,17,50,3, -3,59,50,68,58,59,69,4,4,59,4,4,4,4,70,4,70,4,4,4,69,4,69,4,4,5,4,4,80,17,50,3, -50,50,50,50,59,69,60,4,4,4,4,69,60,4,4,4,5,4,4,4,4,4,4,4,4,5,4,5,80,17,50,3,50, -59,3,50,50,59,4,5,4,69,59,4,60,4,4,60,5,69,4,4,4,4,4,69,4,5,4,4,80,17,50,3,50, -50,50,3,59,69,4,4,60,60,59,69,4,4,4,69,5,4,4,4,4,69,4,4,4,5,4,5,80,17,50,3,59, -50,68,68,59,69,4,5,60,69,59,4,4,69,4,4,70,4,4,4,4,4,4,4,4,5,4,4,80,17,50,3,50, -50,50,68,59,60,60,4,69,60,59,4,4,4,4,70,5,4,4,4,4,4,69,4,69,5,4,5,80,17,50,3,50, -59,50,50,59,59,69,5,60,60,68,4,4,4,69,4,5,4,69,4,4,4,4,4,4,5,4,4,80,17,50,3,3, -50,59,68,58,60,59,5,69,60,59,60,4,4,4,4,5,69,4,4,4,69,4,4,4,5,4,5,80,17,50,3,50, -50,68,68,59,4,69,70,59,60,68,60,70,4,4,4,5,4,4,4,4,4,4,4,4,5,4,4,80,17,50,3,58, -67,59,59,3,4,4,5,60,60,59,60,60,4,4,4,5,69,4,4,4,69,4,69,4,70,4,4,80,17,58,3,58, -58,58,68,58,4,69,5,69,60,68,60,69,4,4,60,5,4,4,4,69,4,4,4,4,5,4,4,80,17,58,3,3, -58,68,58,59,68,4,70,60,60,59,4,4,4,60,60,5,60,69,4,4,4,69,4,69,5,4,4,80,17,58, -58,3,3,3,3,3,3,4,3,4,3,4,4,4,4,3,4,3,3,3,3,3,3,3,3,4,3,3,3,80,17,58,58,58,58,58, -58,58,59,3,3,59,59,59,59,59,59,3,59,68,3,3,67,3,3,67,3,3,3,3,3,80,80,17,17,17, -17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, -80,80,2,2,74,74,74,2,2,74,2,74,2,74,2,2,2,74,74,2,2,2,2,74,74,2,74,2,74,2,74,2, -80,80,6,6,6,5,6,6,6,5,6,6,6,5,6,6,6,5,6,6,6,5,6,6,5,6,6,6,5,6,6,6,80,80,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,80,80,4,4,4,3,4,4,4,3,4,4,4, -3,4,4,4,3,4,4,4,3,4,4,3,4,4,4,3,4,4,4,80,4,80,80,80,80,80,80,80,80,80,80,80,80, -80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80 +4,80,3,17,5,59,6,69,58,50,60,2,68,74,70,67,1,17,17,17,17,17,17,17,17,17,17,17, +17,17,17,17,22,102,70,102,70,102,70,102,70,100,102,100,102,100,102,97,16,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,16,0,32,0,32,0,32,0,32,2,0,2,0,2,0,1,19,189,187,221,189, +219,219,219,187,187,187,219,189,189,189,177,17,51,51,51,51,51,51,51,51,51,51,51, +51,51,51,49,19,136,136,136,133,133,85,95,34,34,44,47,34,194,34,40,19,136,34,34, +34,2,34,34,34,32,34,32,2,2,2,34,19,130,40,140,136,192,197,192,112,112,64,0,0,7, +4,7,19,146,136,200,92,80,122,90,160,0,64,0,7,0,4,0,19,146,149,136,200,84,122, +202,0,0,64,0,0,7,14,0,19,146,153,153,197,94,170,80,112,0,64,0,112,0,4,0,19,146, +37,156,133,112,5,0,0,224,224,0,112,112,4,0,19,146,153,153,87,160,0,7,160,0,64,0, +0,0,4,4,19,146,149,41,149,4,7,80,160,10,71,0,0,7,4,0,19,146,153,146,87,0,170,87, +0,7,64,0,7,0,4,4,19,146,89,204,87,4,167,80,7,0,224,0,0,0,4,0,19,146,153,156,90, +160,122,80,0,14,64,0,0,112,116,4,19,146,149,153,85,116,170,192,0,112,64,112,0,0, +4,0,19,146,41,92,138,84,122,90,0,0,71,0,7,0,4,4,19,146,153,204,80,126,90,202, +224,0,64,0,0,0,4,0,19,146,143,85,32,4,170,90,160,0,71,0,7,7,14,0,19,130,136,140, +128,116,122,202,112,10,64,0,112,0,4,0,19,130,40,200,92,14,170,80,0,170,74,112,0, +112,116,0,19,136,34,34,34,2,2,0,0,32,34,34,34,34,2,34,19,136,136,136,133,34,85, +85,85,37,194,47,34,242,34,34,17,51,51,51,51,51,51,51,51,51,51,51,51,51,51,49,27, +189,221,187,219,219,219,187,221,187,187,221,189,189,189,177,22,102,70,102,70, +102,70,102,70,102,70,100,102,100,102,97,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0, +32,0,32,0,32,0,32,0,32,2,0,2,0,1,1,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 }, { // 8: white skull on blue -5,5,5,5,5,5,5,5,5,5,5,4,13,59,60,62,60,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6, -5,6,5,5,6,5,4,4,59,59,59,59,4,5,5,6,5,6,5,5,6,5,6,6,5,5,5,5,6,6,6,6,6,6,6,6,6,5, -4,4,60,218,59,62,4,5,6,5,6,6,6,6,6,6,6,6,6,5,5,6,6,6,6,6,6,6,6,6,6,5,4,4,62,59, -59,62,4,5,5,6,6,6,6,6,6,6,6,6,6,6,5,5,6,6,6,6,6,6,6,6,6,5,4,4,59,139,59,59,4,5, -5,5,6,6,6,6,6,6,6,6,6,6,5,6,6,6,6,6,6,6,6,6,6,5,4,4,59,59,59,60,4,5,5,5,6,6,6,6, -6,6,6,6,6,5,5,5,6,6,6,6,6,6,6,6,5,12,4,4,62,60,59,62,60,4,3,5,5,6,6,6,6,6,6,6,6, -6,5,6,6,6,6,6,6,5,5,4,85,4,4,62,62,62,59,62,62,60,59,4,5,5,6,6,6,6,6,6,6,5,5,6, -6,6,6,6,5,5,4,4,4,59,59,4,4,4,4,60,60,60,139,218,4,3,5,5,6,6,6,6,6,5,5,5,6,6,6, -5,5,85,4,59,59,3,4,4,4,4,4,4,218,74,218,59,60,60,4,3,5,6,6,6,5,5,5,5,5,5,5,4,85, -4,60,218,4,4,5,5,5,5,5,4,4,59,59,59,59,60,60,218,4,4,5,5,5,5,5,3,4,4,4,4,60,60, -60,4,5,5,5,5,5,5,14,14,13,4,4,59,60,60,60,59,59,60,4,4,4,4,4,60,60,62,60,59,62, -62,62,4,5,6,6,6,6,14,13,13,14,4,4,4,62,62,62,60,59,60,62,63,63,59,59,59,59,60, -60,59,60,62,4,5,6,6,6,6,6,14,93,13,14,5,4,4,4,3,62,62,139,60,62,62,60,218,59,59, -59,218,139,59,60,60,4,6,6,5,6,5,6,15,14,14,14,5,5,4,4,4,3,59,74,60,59,59,59,60, -60,62,59,218,59,59,59,59,4,6,5,6,5,5,5,6,6,6,5,4,5,5,4,4,3,59,59,59,59,59,60,62, -62,60,139,59,60,59,60,60,4,6,6,5,5,5,5,6,6,6,5,4,5,5,4,4,3,59,59,60,60,59,59,60, -62,59,59,62,60,59,62,62,4,6,5,6,6,5,6,15,14,14,14,5,5,4,4,4,3,60,218,60,62,59, -59,59,59,62,62,62,60,59,60,62,4,5,6,6,6,6,6,14,93,13,14,5,4,4,4,3,60,60,218,60, -62,62,60,218,59,62,62,60,60,59,60,59,60,4,5,6,6,6,6,14,13,13,14,4,4,4,60,59,60, -59,74,59,60,62,62,59,59,3,4,4,4,4,59,218,139,4,5,5,5,5,5,5,14,14,13,4,4,218,59, -218,139,74,59,60,4,4,4,4,4,5,5,5,5,4,85,219,218,218,4,4,5,5,5,5,5,4,4,59,218, -218,218,219,218,218,4,4,5,5,5,5,5,5,6,6,6,5,5,85,4,132,60,3,4,4,4,4,4,4,60,60, -74,218,218,218,4,4,5,6,6,6,5,5,5,6,6,6,6,6,5,5,4,4,59,60,62,4,4,4,4,62,62,60,59, -74,4,85,5,5,6,6,6,6,6,5,5,5,6,6,6,6,6,5,5,4,85,4,59,60,62,60,59,60,60,60,139,4, -5,5,6,6,6,6,6,6,6,5,5,6,6,6,6,6,6,6,6,6,5,12,4,4,59,218,59,59,218,4,85,5,5,6,6, -6,6,6,6,6,6,6,5,6,6,6,6,6,6,6,6,6,6,5,4,4,59,59,59,60,4,5,5,5,6,6,6,6,6,6,6,6,6, -5,5,5,6,6,6,6,6,6,6,6,6,5,4,4,62,59,59,62,4,5,5,5,6,6,6,6,6,6,6,6,6,6,5,6,6,6,6, -6,6,6,6,6,6,5,4,4,63,59,59,60,4,5,5,6,6,6,6,6,6,6,6,6,6,6,5,5,6,6,6,6,6,6,6,6,6, -5,4,4,60,218,59,59,4,5,6,5,6,6,6,6,6,6,6,6,6,5,5,5,6,5,6,6,5,6,5,5,6,5,4,4,59, -60,60,59,4,5,5,5,6,5,6,5,6,5,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,13,60,62,62,62,3, -5,5,5,5,5,5,5,5,5,5,5,5,5,5 +6,5,4,59,60,62,218,14,3,13,85,139,74,63,12,15,17,17,17,17,17,18,147,69,72,17,17, +17,17,17,17,17,16,16,1,1,16,18,35,51,50,17,1,1,16,16,1,17,16,0,0,0,0,18,36,99, +82,16,16,0,0,0,0,17,0,0,0,0,0,18,37,51,82,17,0,0,0,0,0,1,16,0,0,0,0,18,35,179, +50,17,16,0,0,0,0,1,0,0,0,0,0,18,35,51,66,17,16,0,0,0,0,17,16,0,0,0,1,226,37,67, +84,40,17,0,0,0,0,1,0,0,0,17,42,34,85,83,85,67,33,16,0,0,0,17,0,0,1,18,34,51,34, +34,68,75,98,129,16,0,0,17,16,0,17,162,51,130,34,34,38,198,52,66,129,0,1,17,17, +17,42,36,98,33,17,17,34,51,51,68,98,33,17,17,130,34,36,68,33,17,17,23,121,34,52, +68,51,66,34,34,68,84,53,85,33,0,0,121,151,34,37,85,67,69,221,51,51,68,52,82,16, +0,0,126,151,18,34,133,91,69,84,99,51,107,52,66,0,16,16,247,119,17,34,40,60,67, +51,68,83,99,51,50,1,1,17,0,1,33,18,40,51,51,52,85,75,52,52,66,0,17,17,0,1,33,18, +40,51,68,51,69,51,84,53,82,1,0,16,247,119,17,34,40,70,69,51,51,85,84,52,82,16,0, +0,126,151,18,34,132,70,69,84,99,85,68,52,52,33,0,0,121,151,34,36,52,60,52,85,51, +130,34,35,107,33,17,17,23,121,34,99,107,195,66,34,34,17,17,42,102,98,33,17,17, +34,54,102,102,98,33,17,17,16,0,17,162,68,130,34,34,36,76,102,98,33,0,1,17,0,0,1, +18,35,69,34,34,85,67,194,161,16,0,0,17,16,0,0,17,42,35,69,67,68,75,33,16,0,0,0, +17,0,0,0,0,1,226,35,99,54,42,17,0,0,0,0,1,0,0,0,0,0,18,35,51,66,17,16,0,0,0,0, +17,16,0,0,0,0,18,37,51,82,17,16,0,0,0,0,1,0,0,0,0,0,18,45,51,66,17,0,0,0,0,0,1, +16,0,0,0,0,18,36,99,50,16,16,0,0,0,0,17,16,16,1,1,16,18,35,68,50,17,16,16,16,16, +1,17,17,17,17,17,17,18,148,85,88,17,17,17,17,17,17,17 }, { // 9: red lava with stones -3,11,94,12,3,12,94,11,12,3,83,11,94,83,3,4,4,4,4,4,4,3,3,94,12,3,4,4,4,83,3,3,3, -12,11,3,3,3,83,11,92,94,92,102,12,83,3,3,12,4,12,4,3,3,3,94,12,4,4,4,4,4,4,11, -83,94,83,3,4,4,4,83,83,11,94,102,94,12,12,83,4,4,3,4,3,3,11,94,3,4,4,4,4,4,83,3, -11,91,3,4,4,4,4,4,3,3,91,12,11,12,92,94,91,11,83,3,3,83,12,92,3,3,4,4,4,4,3,3, -12,3,3,4,4,4,4,4,3,11,94,12,3,83,83,83,12,92,94,94,12,12,102,12,12,83,4,3,3,3,3, -11,3,3,3,3,3,4,4,3,3,11,94,12,3,4,4,3,3,3,12,11,11,94,102,93,94,11,11,11,11,11, -11,102,94,94,83,83,12,83,3,11,11,94,12,3,11,4,4,4,4,3,3,3,11,102,12,12,83,12,12, -11,12,94,94,102,83,11,94,94,94,94,12,12,12,102,83,12,3,4,4,4,4,4,3,3,94,12,83,3, -83,3,3,3,3,11,102,94,3,3,12,3,3,11,12,12,102,102,102,92,83,4,3,4,4,4,3,11,94,83, -3,4,4,4,3,3,3,11,94,11,4,12,4,4,3,3,83,11,12,12,83,83,94,94,11,83,3,3,83,94,11, -3,4,4,4,4,4,11,83,94,3,3,4,4,4,4,4,83,3,11,92,3,3,3,3,12,11,94,11,11,92,12,3,4, -4,4,4,4,4,3,83,94,83,4,4,4,4,4,4,3,3,11,94,3,3,11,3,3,3,83,12,100,102,12,83,3,4, -4,4,4,12,3,92,11,3,4,4,4,4,12,3,3,11,94,83,3,4,4,4,4,4,3,11,12,94,102,12,12,3,3, -3,3,3,3,12,11,3,4,3,3,3,3,3,3,12,94,83,4,4,4,4,4,4,4,3,12,12,12,92,92,94,94,83, -11,83,12,12,12,3,3,11,11,91,12,11,12,102,12,83,3,4,4,4,4,4,4,3,12,12,11,83,83, -11,11,94,94,102,102,102,12,12,11,11,11,11,12,94,102,102,102,12,11,12,12,3,12,4, -3,3,11,91,83,3,3,3,3,3,83,12,12,94,12,12,11,4,83,3,3,83,12,94,94,12,92,92,91,12, -12,3,83,3,12,94,3,3,4,4,4,3,83,11,94,11,83,3,3,4,4,3,83,3,11,94,11,83,3,3,12,12, -94,94,4,83,94,4,3,83,20,4,4,4,3,83,94,4,3,3,3,4,12,4,3,3,3,94,83,4,3,3,3,83,11, -83,12,12,102,11,4,4,4,4,4,12,3,11,94,12,3,4,4,4,4,4,4,3,3,94,12,3,3,12,4,4,3,3, -11,102,102,12,3,3,3,3,3,3,83,94,83,3,3,4,12,4,4,4,4,3,3,94,83,3,4,4,4,4,4,3,83, -15,102,102,12,83,3,3,3,3,11,94,83,3,4,4,4,4,4,4,4,3,3,94,11,3,4,4,4,4,4,3,83, -102,11,12,94,94,11,11,12,11,12,12,3,3,3,12,4,4,4,4,3,3,3,94,11,3,4,4,4,12,4,3, -12,12,83,3,3,12,12,92,12,92,102,94,83,4,3,4,4,3,3,3,3,3,11,94,11,3,4,4,4,4,3,83, -11,11,4,3,4,4,3,3,83,12,102,102,92,11,11,83,3,94,83,83,83,11,94,12,3,3,3,4,4,3, -3,11,92,12,3,4,4,4,4,3,3,12,92,11,12,12,92,94,94,12,94,94,12,93,102,102,12,12, -83,4,3,83,3,12,12,3,4,4,4,4,4,4,3,11,92,12,3,3,3,12,83,3,3,3,83,11,102,12,12,92, -94,83,12,11,11,94,83,3,4,4,4,4,4,4,3,94,12,3,3,3,3,3,12,4,4,3,83,12,92,83,3,4, -12,94,12,92,102,102,12,83,3,3,4,4,4,3,83,94,83,4,3,4,4,4,4,4,12,3,83,94,83,3,83, -3,3,4,83,11,94,102,102,94,12,12,3,3,3,3,83,94,83,3,3,12,4,4,4,4,3,3,12,12,3,3,4, -4,4,83,3,12,92,11,11,83,94,94,94,92,94,11,94,14,19,83,4,3,4,4,12,11,12,12,102, -12,83,4,4,4,4,4,3,12,12,3,3,3,3,4,83,83,11,102,102,102,94,92,11,11,11,11,11,91, -12,102,94,102,94,12,3,4,4,3,83,94,83,3,4,4,4,12,4,4,3,12,102,14,83,4,11,11,91, -11,91 +3,4,12,11,83,94,102,92,91,14,93,15,19,20,100,0,3,82,2,83,32,67,84,1,17,17,16,5, +32,17,20,0,2,48,0,67,117,118,36,0,33,33,0,5,33,17,17,19,69,64,17,20,67,86,82,36, +17,1,0,53,1,17,17,64,56,1,17,17,0,130,50,117,131,64,4,39,0,17,17,0,32,1,17,17,3, +82,4,68,39,85,34,98,36,16,0,3,0,0,1,16,3,82,1,16,0,35,53,106,83,51,51,54,85,68, +36,3,53,32,49,17,16,0,54,34,66,35,37,86,67,85,85,34,38,66,1,17,17,0,82,64,64,0, +3,101,0,32,3,34,102,103,65,1,17,3,84,1,17,0,3,83,18,17,0,67,34,68,85,52,0,69,48, +17,17,19,69,0,17,17,20,3,112,0,2,53,51,114,1,17,17,16,69,65,17,17,16,3,80,3,0,4, +46,98,64,17,17,32,115,1,17,18,0,53,64,17,17,16,50,86,34,0,0,0,35,1,0,0,0,37,65, +17,17,17,2,34,119,85,67,66,34,0,51,130,50,98,64,17,17,17,2,35,68,51,85,102,98, +35,51,50,86,102,35,34,2,16,3,132,0,0,4,34,82,35,20,0,66,85,39,120,34,4,2,80,1, +17,4,53,52,0,17,4,3,83,64,2,37,81,69,16,77,17,16,69,16,0,18,16,0,84,16,0,67,66, +38,49,17,17,32,53,32,17,17,17,0,82,0,33,16,3,102,32,0,0,4,84,0,18,17,17,0,84,1, +17,17,4,182,98,64,0,3,84,1,17,17,17,0,83,1,17,17,4,99,37,83,50,50,32,0,33,17,16, +0,83,1,17,33,2,36,0,34,114,118,84,16,17,0,0,3,83,1,17,16,67,49,1,16,4,38,103,51, +64,84,68,53,32,0,17,0,55,32,17,17,0,39,50,39,85,37,82,166,98,36,16,64,34,1,17, +17,16,55,32,0,36,0,4,54,34,117,66,51,84,1,17,17,16,82,0,0,2,17,4,39,64,18,82, +118,98,64,1,17,4,84,16,17,17,18,4,84,4,0,20,53,102,82,32,0,4,84,0,33,17,16,2,32, +1,17,64,39,51,69,85,117,53,156,65,1,18,50,38,36,17,17,16,34,0,0,20,67,102,101, +115,51,51,130,101,101,32,17,4,84,1,17,33,16,38,148,19,56,56 }, { // 10: transparent window -4,5,4,4,4,4,4,5,4,4,4,13,4,4,4,4,4,5,4,4,4,4,4,4,4,4,5,5,5,5,4,4,13,4,3,3,50,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,50,4,4,5,5,13,5,5,4,4,4,4,3,3,3,3,3,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,3,50,4,5,5,5,4,4,4,4,4,4,3,4,50,49,49,49,49,49,49,49,49,49, -49,49,49,49,49,49,49,50,4,5,4,5,5,5,5,5,4,4,4,4,3,3,175,175,175,175,175,175,175, -175,60,59,4,175,175,175,175,175,175,61,3,5,4,5,5,5,5,5,4,4,5,4,3,3,175,175,175, -175,175,175,175,175,60,59,4,175,175,175,175,175,175,61,3,5,4,5,5,4,13,5,4,4,4,4, -3,3,175,175,175,175,175,175,175,175,85,59,4,175,175,175,175,175,175,61,3,5,4,12, -3,3,3,3,67,4,4,4,3,3,175,175,175,175,175,175,175,175,4,59,4,175,175,175,175,175, -175,61,3,5,4,4,4,4,4,4,13,4,12,4,3,3,175,175,175,175,175,175,175,175,4,59,5,175, -175,175,175,175,175,61,3,5,4,3,4,13,4,4,4,4,5,4,3,3,175,175,175,175,175,175,175, -175,68,59,60,175,175,175,175,175,175,4,3,5,4,4,4,60,4,4,4,13,4,4,3,3,4,5,3,3,74, -83,74,83,59,52,59,74,74,83,74,74,83,74,3,5,4,3,4,4,4,69,4,4,4,4,3,3,4,5,59,59, -59,59,59,59,60,62,60,59,59,59,59,59,59,60,3,5,4,4,5,4,5,4,4,4,5,4,3,3,175,175, -175,175,175,175,175,175,2,59,2,175,175,175,175,175,175,11,3,5,4,5,13,5,5,4,4,5, -4,4,3,3,175,175,175,175,175,175,175,175,4,59,4,175,175,175,175,175,175,7,3,5,4, -4,5,5,13,4,69,12,4,4,3,3,175,175,175,175,175,175,175,175,60,59,5,175,175,175, -175,175,175,6,3,5,4,5,5,5,5,5,4,5,4,4,3,3,175,175,175,175,175,175,175,175,60,59, -4,175,175,175,175,175,175,5,3,5,4,5,5,4,5,4,4,4,4,4,3,3,175,175,175,175,175,175, -175,175,60,59,4,175,175,175,175,175,175,61,3,5,4,5,13,5,4,4,5,4,4,4,3,3,175,175, -175,175,175,175,175,175,60,59,4,175,175,175,175,175,175,61,3,5,4,5,4,4,5,69,4,4, -5,4,3,3,175,175,175,175,175,175,175,175,4,59,4,175,175,175,175,175,175,61,3,5,4, -4,5,4,4,4,13,4,4,4,3,3,175,175,175,175,175,175,175,175,2,59,2,175,175,175,175, -175,175,2,3,5,4,5,13,4,5,4,4,4,13,4,3,3,4,5,59,59,59,59,59,59,60,62,60,59,59,59, -59,59,59,60,3,5,4,5,5,5,4,4,4,4,4,4,3,3,4,5,3,83,83,74,74,83,59,52,59,83,74,74, -74,74,83,74,3,5,4,5,5,13,4,4,69,5,4,4,3,3,175,175,175,175,175,175,175,175,84,59, -4,175,175,175,175,175,175,4,3,5,4,5,5,5,4,4,4,4,4,4,3,3,175,175,175,175,175,175, -175,175,4,59,5,175,175,175,175,175,175,61,3,5,4,4,5,4,4,4,4,4,4,4,3,3,175,175, -175,175,175,175,175,175,60,59,5,175,175,175,175,175,175,5,3,5,4,12,3,3,3,3,67,4, -4,4,3,3,175,175,175,175,175,175,175,175,4,59,4,175,175,175,175,175,175,61,3,5,4, -4,4,4,4,4,4,4,4,4,3,3,175,175,175,175,175,175,175,175,85,59,4,175,175,175,175, -175,175,61,3,5,4,4,4,5,4,4,12,4,5,4,3,3,175,175,175,175,175,175,175,175,60,59,4, -175,175,175,175,175,175,5,3,5,4,4,4,4,4,4,4,5,13,4,3,4,50,49,49,49,49,49,49,49, -49,49,49,49,49,49,49,49,49,50,5,5,4,5,13,4,4,4,4,5,4,4,4,3,3,5,5,5,5,5,5,5,5,5, -5,5,5,5,5,5,5,5,5,3,4,5,5,4,4,4,4,4,4,4,3,50,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, -5,50,4,4,4,5,13,4,4,13,4,4,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,13,4,4,4,4,4,5,5, -5,5,4,5 +4,175,5,3,59,49,13,60,74,61,50,83,2,12,69,52,2,0,0,2,0,6,0,0,2,0,0,0,0,34,34,0, +96,51,160,0,0,0,0,0,0,0,0,10,0,34,98,32,0,3,51,51,51,51,51,51,51,51,51,51,160, +34,32,0,0,3,10,85,85,85,85,85,85,85,85,160,32,34,34,32,0,3,49,17,17,17,23,64,17, +17,17,147,32,34,34,32,2,3,49,17,17,17,23,64,17,17,17,147,32,34,6,32,0,3,49,17, +17,17,22,64,17,17,17,147,32,211,51,52,0,3,49,17,17,17,16,64,17,17,17,147,32,0,0, +6,13,3,49,17,17,17,16,66,17,17,17,147,32,48,96,0,2,3,49,17,17,17,23,71,17,17,17, +3,32,0,112,0,96,3,48,35,56,184,180,244,136,184,139,131,32,48,0,224,0,3,48,36,68, +68,71,151,68,68,68,115,32,2,2,0,2,3,49,17,17,17,28,76,17,17,17,179,32,38,34,0, +32,3,49,17,17,17,16,64,17,17,17,35,32,2,38,14,208,3,49,17,17,17,23,66,17,17,17, +35,32,34,34,32,32,3,49,17,17,17,23,64,17,17,17,35,32,34,2,0,0,3,49,17,17,17,23, +64,17,17,17,147,32,38,32,2,0,3,49,17,17,17,23,64,17,17,17,147,32,32,2,224,2,3, +49,17,17,17,16,64,17,17,17,147,32,2,0,6,0,3,49,17,17,17,28,76,17,17,17,195,32, +38,2,0,6,3,48,36,68,68,71,151,68,68,68,115,32,34,32,0,0,3,48,35,187,136,180,244, +184,136,139,131,32,34,96,14,32,3,49,17,17,17,29,64,17,17,17,3,32,34,32,0,0,3,49, +17,17,17,16,66,17,17,17,147,32,2,0,0,0,3,49,17,17,17,23,66,17,17,17,35,32,211, +51,52,0,3,49,17,17,17,16,64,17,17,17,147,32,0,0,0,0,3,49,17,17,17,22,64,17,17, +17,147,32,0,32,13,2,3,49,17,17,17,23,64,17,17,17,35,32,0,0,0,38,3,10,85,85,85, +85,85,85,85,85,162,32,38,0,0,32,0,51,34,34,34,34,34,34,34,34,34,48,34,0,0,0,3, +162,34,34,34,34,34,34,34,34,42,0,2,96,6,0,0,0,0,0,2,0,0,0,0,96,0,0,34,34,2 }, { // 11: broken grey brick wall with transparency -5,5,4,13,5,4,4,85,5,3,3,5,4,4,5,4,4,4,4,4,4,4,5,5,4,4,4,13,5,4,5,3,5,4,4,5,5,4, -4,5,4,4,3,6,5,5,13,5,12,4,4,5,4,12,5,12,4,4,5,5,4,13,4,3,5,4,5,4,4,4,5,4,5,4,4, -6,5,4,5,5,4,5,4,4,4,3,6,21,5,4,4,4,4,4,4,4,5,4,4,5,4,13,5,5,4,5,3,5,5,4,5,4,4, -13,4,4,4,3,5,4,13,5,4,5,4,5,4,4,5,4,13,4,5,5,4,12,5,5,4,6,4,4,4,5,4,4,5,4,5,3,6, -21,5,4,5,13,4,4,4,4,5,5,5,4,5,5,5,5,5,5,3,6,5,4,13,4,4,5,13,5,4,3,6,13,4,4,4,4, -4,4,4,4,5,4,5,5,13,5,5,5,85,5,4,6,5,4,4,4,4,4,4,13,5,3,5,4,4,4,4,5,4,12,4,4,5,4, -5,5,5,4,4,5,5,5,4,4,4,3,3,3,3,4,3,3,4,4,5,5,4,4,4,4,4,4,5,3,5,5,13,5,5,85,5,5,5, -5,84,3,3,3,3,3,3,3,3,3,3,4,5,13,5,4,4,4,4,4,12,4,5,5,5,5,5,5,5,4,13,5,3,3,186, -19,97,20,21,100,175,175,5,4,5,4,4,5,13,5,4,4,5,3,5,5,5,5,5,5,5,5,5,5,4,3,99,99, -10,19,21,100,20,175,99,5,5,4,4,4,5,4,5,4,4,4,5,5,14,5,85,5,4,5,4,4,12,3,99,18, -10,98,21,100,100,100,98,5,6,4,4,4,13,5,4,5,4,3,5,5,5,5,5,5,13,5,5,5,3,3,99,25, -18,169,168,99,19,168,5,7,5,3,3,4,4,4,13,4,4,3,6,4,5,5,5,5,5,5,5,13,4,3,25,17, -176,175,175,11,18,100,186,6,6,4,5,5,5,4,3,11,3,4,5,5,14,5,4,5,5,13,5,5,3,3,177, -176,175,176,177,101,100,20,178,0,5,4,4,5,5,5,5,5,5,5,5,5,5,4,12,5,5,5,5,4,3,3, -175,175,177,3,99,21,20,177,175,5,5,4,5,5,5,4,4,4,4,12,5,5,5,5,5,4,5,13,4,4,12,3, -175,177,99,99,20,23,20,168,175,5,5,4,13,4,4,4,4,4,4,4,5,13,5,5,13,5,4,4,5,4,3,3, -176,19,19,98,22,22,100,168,175,5,5,4,5,5,13,4,4,4,4,4,3,3,4,4,3,3,3,3,12,3,3,4, -21,20,20,97,22,21,20,100,4,5,6,4,5,4,5,5,13,4,4,4,4,4,4,4,4,4,4,4,4,4,176,21,19, -20,19,19,19,21,20,100,100,5,5,4,5,5,5,4,5,4,20,3,175,4,20,20,19,19,19,99,98,99, -20,19,19,19,19,19,98,21,20,100,100,5,6,4,4,13,4,4,4,4,4,4,175,21,100,98,18,18, -18,18,99,99,99,99,99,19,18,18,81,20,21,20,100,5,6,4,4,4,4,4,4,4,13,4,169,176, -177,177,99,19,18,18,98,99,99,11,19,97,9,160,21,20,98,18,100,4,5,4,4,4,4,12,4,4, -4,4,175,175,175,99,20,99,99,99,100,98,19,18,169,175,178,21,21,20,20,100,18,4,5, -4,4,4,4,4,5,4,4,4,175,175,169,21,20,98,175,175,168,186,0,5,5,5,5,5,5,5,5,5,5,12, -5,4,13,4,4,5,4,4,4,3,175,175,99,21,100,82,175,175,175,175,5,5,5,4,4,4,4,4,4,4,4, -3,5,4,4,4,4,4,5,4,12,3,175,82,21,20,100,18,175,175,175,175,5,5,4,6,4,4,4,4,4,4, -4,3,5,4,4,4,4,4,4,4,4,4,175,82,21,21,100,98,175,175,175,3,5,6,13,4,4,5,4,4,4,4, -4,3,5,4,4,4,84,4,5,4,4,3,175,175,19,22,100,100,186,178,178,99,5,5,5,4,13,4,4,4, -4,13,4,3,6,4,4,4,4,13,4,4,13,3,175,175,168,23,20,100,100,100,100,100,5,6,4,4,4, -4,4,4,5,4,4,3,5,4,4,3,4,3,4,5,4,3,175,175,175,100,21,20,100,100,100,19,3,6,4,4, -4,3,4,4,4,3,4,3,5,4,3,3,3,3,3,3,3,3,175,175,0,18,2,21,20,99,98,98,3,5,4,3,4,4,4, -4,3,4,4,3,5,5,5,5,5,5,5,5,5,5 +4,5,3,175,13,100,20,99,19,21,6,18,12,98,177,168,17,4,16,4,18,33,0,16,0,0,0,17,0, +4,16,18,16,1,16,1,0,42,17,65,192,1,12,28,0,17,4,2,16,16,0,16,16,10,16,17,1,0,2, +169,16,0,0,0,16,1,4,17,1,33,16,16,4,0,2,16,65,1,1,0,16,64,17,12,17,10,0,1,0,16, +18,169,16,20,0,0,17,16,17,17,17,42,16,64,1,65,2,164,0,0,0,0,16,17,65,17,65,10, +16,0,0,4,18,16,0,1,12,0,16,17,16,1,17,0,2,34,32,34,0,17,0,0,0,18,17,65,20,17,17, +194,34,34,34,34,32,20,16,0,0,192,17,17,17,16,65,34,216,230,149,51,16,16,1,65,0, +18,17,17,17,17,17,2,119,184,149,99,113,16,0,16,16,0,17,145,65,1,0,194,123,189, +149,85,209,160,0,65,1,2,17,17,17,65,17,34,125,190,247,143,26,18,32,0,64,2,160, +17,17,17,20,2,221,243,56,181,218,160,17,16,40,32,17,145,1,20,17,34,239,63,229, +86,239,16,1,17,17,17,17,16,193,17,16,34,51,226,121,110,49,16,17,16,0,12,17,17, +16,20,0,194,62,119,106,111,49,16,64,0,0,0,20,17,65,0,16,34,248,141,153,95,49,16, +17,64,0,0,34,0,34,34,194,32,150,110,153,101,1,160,16,17,64,0,0,0,0,0,0,249,134, +136,137,101,81,16,17,16,16,98,48,102,136,135,215,104,136,136,217,101,81,160,4,0, +0,0,57,93,187,187,119,119,120,187,230,150,81,160,0,0,0,64,239,238,120,187,215, +120,142,239,150,219,80,16,0,12,0,0,51,55,103,119,93,139,227,233,150,101,176,16, +0,0,16,0,51,233,109,51,253,241,17,17,17,17,28,16,64,1,0,2,51,121,91,51,51,17,16, +0,0,0,2,16,0,0,16,194,59,150,91,51,51,17,10,0,0,0,2,16,0,0,0,0,59,153,93,51,50, +26,64,1,0,0,2,16,0,192,16,2,51,137,85,222,231,17,16,64,0,4,2,160,0,4,0,66,51, +250,101,85,85,26,0,0,0,16,2,16,2,2,1,2,51,53,150,85,88,42,0,2,0,2,2,16,34,34,34, +34,51,251,185,103,221,33,2,0,0,32,2,17,17,17,17,17 }, { // 12: gray square-tiled wall -5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,50,5,5,4,13,5,4,4, -85,5,5,5,4,4,4,5,3,5,5,5,4,4,5,4,5,4,4,4,13,5,4,5,3,5,4,4,5,5,4,4,5,4,4,13,5,5, -5,13,4,5,5,4,5,4,13,4,12,4,4,5,5,4,13,4,3,5,4,5,4,4,4,5,4,5,4,5,85,5,4,5,4,5,5, -4,4,4,4,5,21,5,4,4,4,4,4,4,3,5,4,4,5,4,13,5,5,4,5,5,4,5,4,5,3,5,13,4,4,4,4,4,4, -13,5,4,5,4,5,4,3,5,4,13,4,5,5,4,12,5,5,5,5,4,4,4,4,5,4,5,4,5,4,21,21,5,4,5,13,4, -4,4,3,5,5,5,4,5,5,5,5,5,5,5,14,5,4,13,3,5,5,13,5,4,4,5,13,4,4,4,4,4,4,4,3,5,4,5, -5,13,5,5,5,85,5,5,5,5,4,4,3,5,4,4,13,5,4,4,4,4,4,4,5,4,12,4,3,5,4,5,5,5,4,4,5,5, -5,5,5,5,4,4,3,5,5,4,4,5,5,4,5,4,4,4,4,4,4,5,3,5,5,13,5,5,85,5,5,5,5,85,5,5,4,4, -12,5,4,21,5,13,5,4,13,5,4,4,4,4,4,12,3,5,5,5,5,5,5,5,4,13,5,4,4,12,4,4,20,5,4,5, -4,4,4,4,4,4,5,13,5,4,4,5,3,5,5,5,5,5,5,5,5,5,5,5,4,4,5,4,3,6,5,4,5,4,4,3,4,4,4, -5,4,5,4,4,3,5,5,14,5,85,5,4,5,4,4,13,4,4,4,4,50,5,4,4,4,13,4,5,4,4,4,13,5,4,5,4, -3,5,5,5,5,5,5,13,5,5,5,4,4,4,4,5,4,5,4,4,4,5,4,5,4,4,4,4,4,13,4,4,3,6,4,5,5,5,5, -5,5,5,13,5,5,13,4,4,4,5,4,5,4,4,4,4,4,4,4,5,5,4,12,4,3,3,4,13,4,3,4,4,12,4,4,3, -3,3,4,12,3,4,3,3,3,3,3,3,12,4,3,3,3,3,3,3,3,5,6,6,5,5,6,6,6,6,5,5,6,6,5,6,12,6, -6,5,6,5,5,5,5,5,6,6,5,5,5,5,11,5,5,5,5,5,4,5,13,4,4,13,4,4,5,4,4,5,4,4,4,4,4,4, -4,13,4,4,4,4,4,4,3,5,13,5,5,13,5,4,4,5,5,4,5,5,5,4,3,5,12,4,5,4,4,4,5,4,5,13,4, -4,4,4,3,5,4,5,5,4,4,4,4,13,4,4,4,13,5,4,3,6,4,4,12,4,4,4,4,5,4,4,5,13,4,4,3,5,4, -13,4,4,4,4,4,5,4,5,4,21,4,13,3,5,4,4,4,4,4,4,5,4,4,5,4,5,4,20,50,5,5,4,5,13,5,4, -4,4,4,13,5,4,4,5,19,5,4,4,4,4,4,13,4,4,13,4,4,4,4,4,3,5,4,4,4,4,13,4,5,4,4,4,4, -5,5,5,3,5,4,4,13,4,4,4,4,4,4,4,4,4,4,13,3,5,5,21,5,4,5,4,13,4,4,4,4,13,4,4,3,5, -4,4,4,4,4,4,4,4,4,4,12,4,4,4,3,5,4,4,4,4,4,4,4,4,4,13,4,4,4,5,3,5,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,3,5,5,4,4,4,4,4,4,4,4,4,4,4,13,4,3,22,4,4,4,4,13,4,4,13,4,4,4,4,4, -4,50,5,5,21,4,13,4,5,13,5,4,4,4,4,4,5,3,5,5,4,4,4,4,4,4,4,4,4,4,5,4,12,50,5,4,5, -5,4,20,4,5,4,5,5,4,4,5,4,3,5,12,4,4,4,4,4,4,4,4,4,4,4,4,4,3,5,4,4,5,4,4,5,4,4, -13,4,4,13,4,4,4,5,4,4,4,4,4,4,4,4,4,84,4,4,4,4,50,5,4,13,4,4,13,4,5,4,4,4,4,5,4, -13,3,5,4,4,13,4,4,13,4,4,4,4,13,4,4,13,50,5,4,5,4,4,5,5,4,4,4,4,4,4,4,4,3,5,4,5, -4,4,4,4,4,4,3,4,3,4,5,4,50,50,50,50,3,3,4,3,3,3,50,3,3,3,3,3,50,3,3,3,50,3,3,3, -3,50,50,50,50,50,50,50,50 +4,5,3,13,50,6,12,21,85,20,14,11,19,22,84,0,17,17,17,17,17,17,17,18,17,17,17,17, +17,17,17,20,17,3,16,8,17,16,0,18,17,16,1,1,0,3,16,18,16,1,16,1,0,49,17,48,17,1, +3,6,0,17,3,2,16,16,0,16,16,24,16,16,17,0,0,23,16,0,0,2,16,1,3,17,1,16,16,18,19, +0,0,0,49,1,1,2,16,48,17,6,17,17,0,0,16,16,16,119,16,19,0,2,17,16,17,17,17,26,16, +50,17,49,0,19,0,0,0,2,16,17,49,17,129,17,16,2,16,3,16,0,0,1,6,2,16,17,16,1,17, +17,16,2,17,0,17,1,0,0,0,18,17,49,24,17,17,129,16,6,16,113,49,3,16,0,0,98,17,17, +17,16,49,0,96,9,16,16,0,0,1,49,0,18,17,17,17,17,17,16,1,2,81,1,0,32,0,16,16,2, +17,161,129,1,0,48,0,4,16,0,48,16,0,49,1,2,17,17,17,49,17,0,0,16,16,0,16,16,0,0, +48,2,80,17,17,17,19,17,48,0,16,16,0,0,0,17,6,2,32,48,32,6,0,34,32,98,2,34,34,38, +2,34,34,34,21,81,21,85,81,21,81,86,85,21,17,17,21,81,17,27,17,17,16,19,0,48,1,0, +16,0,0,0,48,0,0,2,19,17,49,0,17,1,17,2,22,1,0,1,1,48,0,2,16,17,0,0,48,0,49,2,80, +6,0,0,16,1,48,2,16,48,0,0,16,16,112,50,16,0,0,1,0,16,16,148,17,1,49,0,0,49,0,28, +16,0,0,48,3,0,0,2,16,0,3,1,0,0,17,18,16,3,0,0,0,0,0,50,17,113,1,3,0,0,48,2,16,0, +0,0,0,6,0,2,16,0,0,0,0,48,0,18,16,0,0,0,0,0,0,2,17,0,0,0,0,0,3,2,208,0,3,0,48,0, +0,4,17,112,48,19,16,0,0,18,17,0,0,0,0,0,16,100,16,17,9,1,1,16,1,2,22,0,0,0,0,0, +0,2,16,1,0,16,3,0,48,0,16,0,0,0,0,224,0,4,16,48,3,1,0,0,16,50,16,3,0,48,0,3,0, +52,16,16,1,16,0,0,0,2,16,16,0,0,2,2,1,4,68,66,32,34,36,34,34,36,34,36,34,34,68, +68,68,68 } }; -SFG_PROGRAM_MEMORY uint8_t SFG_sprites[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_sprites[][SFG_TEXTURE_STORE_SIZE] = { { // 0: barrel -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,176,176,175,175, -175,175,175,175,175,175,175,175,175,175,175,176,176,175,175,175,175,175,175,175, -175,175,175,175,175,175,176,176,176,176,176,176,176,0,176,0,176,0,0,0,0,0,176,0, -176,0,0,0,0,176,0,0,0,0,176,0,176,176,176,176,1,176,176,176,176,176,176,176,2, -176,2,185,2,185,2,2,176,185,2,2,185,2,2,2,185,2,185,2,2,185,2,176,10,2,6,11,2,2, -2,2,185,19,2,2,19,11,19,11,185,11,19,19,19,19,19,11,19,11,2,179,6,11,19,2,10,11, -6,11,11,11,2,11,11,19,84,19,11,19,84,11,84,19,11,11,11,11,19,19,11,19,19,11,6, -11,19,2,11,11,11,11,93,11,19,19,19,84,11,11,83,178,178,185,10,10,84,84,19,19,11, -11,19,11,11,84,19,20,84,10,20,11,11,11,13,19,13,13,84,4,83,180,83,11,84,84,13, -83,186,83,84,13,84,84,84,11,19,11,11,84,13,11,93,5,13,84,13,4,84,84,84,83,83,84, -84,84,13,84,84,4,13,83,2,84,84,4,84,84,4,84,84,100,5,20,84,5,6,11,84,84,84,84, -11,83,84,13,11,83,178,19,178,178,83,84,83,83,84,84,84,84,84,84,6,11,6,20,84,6,6, -11,84,13,84,4,93,6,46,84,6,46,84,19,178,179,18,10,6,10,84,13,6,84,13,84,6,11,6, -84,84,6,22,6,6,84,6,84,83,6,6,6,84,6,84,11,178,19,178,19,83,84,84,84,6,84,6,22, -6,84,6,20,84,6,6,6,6,6,6,93,6,6,6,6,6,84,11,19,179,84,15,6,84,6,93,6,6,6,6,6,6, -22,6,84,84,6,15,6,6,6,6,92,15,84,11,10,10,19,19,93,20,6,6,6,15,6,92,6,15,6,6,6, -15,6,6,20,84,6,15,47,6,15,7,10,7,6,7,10,11,11,92,5,22,15,7,15,47,6,92,7,15,6,6, -15,6,15,6,20,84,6,6,12,7,7,7,84,7,7,7,7,7,11,11,84,84,7,15,7,5,7,93,6,47,7,47, -15,6,12,6,84,84,6,6,12,47,7,7,5,5,7,7,7,93,19,11,11,180,11,93,93,11,5,5,7,7,47, -7,7,6,19,13,20,84,6,7,7,7,7,47,15,93,7,47,11,19,11,92,92,19,19,11,20,7,84,7,47, -7,7,7,15,7,15,13,84,84,6,15,7,15,7,15,15,5,13,15,7,15,5,84,93,83,19,20,13,45,13, -15,15,7,15,15,6,6,22,6,20,93,6,15,15,15,15,15,15,15,20,5,15,15,47,15,15,22,6,6, -13,20,15,6,15,6,6,15,15,6,6,5,20,11,5,22,15,15,15,15,15,15,15,13,20,13,15,6,15, -13,13,93,84,6,6,6,6,22,6,6,22,84,22,5,11,11,84,15,15,22,15,15,15,6,6,15,14,13, -11,19,19,11,84,5,6,15,84,15,6,6,22,6,84,6,22,5,10,10,84,6,19,13,22,22,13,15,22, -15,6,6,6,15,6,22,6,6,6,6,6,6,22,6,84,6,15,6,22,13,2,10,84,6,19,13,22,22,13,15, -22,15,6,6,6,15,6,22,6,6,6,6,6,6,6,6,84,6,15,6,13,13,2,2,84,15,22,13,13,14,22,22, -6,22,6,22,6,6,6,13,15,84,6,6,6,22,6,13,6,84,84,15,13,84,1,176,84,11,11,13,93,93, -13,13,84,13,13,6,84,13,6,84,84,22,84,84,84,84,84,84,84,84,84,84,84,84,176,176, -84,175,175,175,175,175,175,175,175,175,175,175,175,175,84,84,175,175,175,175, -175,175,175,175,175,175,175,175,175,84,176,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175 +175,6,84,15,11,19,13,7,176,22,2,0,5,20,83,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,0,0,0,8, +128,0,0,0,0,0,0,136,136,136,139,139,139,187,187,139,139,187,184,187,187,139,136, +136,136,136,136,136,168,168,168,170,136,170,138,170,138,138,168,168,170,20,170, +170,133,170,84,84,132,85,85,84,84,164,20,90,164,20,68,164,69,37,69,36,37,68,68, +85,69,84,20,90,68,68,244,85,82,68,232,136,170,34,85,68,84,66,93,42,212,68,101, +102,34,228,228,34,110,174,38,34,36,84,66,100,252,98,98,34,46,226,34,98,34,110, +162,34,34,34,37,205,44,20,34,34,78,38,78,133,136,226,238,34,34,34,20,29,33,20, +38,34,241,194,28,37,132,170,26,38,18,98,20,18,33,145,18,18,225,17,33,36,133,133, +226,34,18,25,18,29,33,17,17,31,17,17,18,69,66,49,33,241,17,17,25,18,33,49,17,31, +50,74,165,95,209,17,49,241,49,17,49,29,33,49,19,122,113,122,68,252,147,115,17, +247,49,19,19,29,33,18,119,114,119,119,116,66,39,55,199,241,23,19,18,18,33,18,23, +124,199,119,245,68,68,255,76,199,113,119,21,109,33,119,119,19,247,20,84,255,85, +77,114,113,119,115,115,98,33,55,55,51,198,55,60,47,229,214,198,51,115,49,25,29, +241,51,51,51,61,195,49,51,145,22,211,19,17,51,17,205,76,147,51,51,51,109,99,19, +102,242,17,17,145,25,41,196,66,51,147,51,17,57,100,85,66,193,50,49,25,18,25,202, +162,21,105,150,57,49,17,49,145,17,17,25,18,19,25,106,162,21,105,150,57,49,17,49, +145,17,17,17,18,19,22,106,162,57,102,153,145,145,145,17,99,33,17,145,97,34,54, +40,130,68,111,246,98,102,18,97,34,146,34,34,34,34,34,40,130,0,0,0,0,0,0,2,32,0, +0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }; SFG_PROGRAM_MEMORY -uint8_t SFG_backgrounds[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] = +uint8_t SFG_backgrounds[][SFG_TEXTURE_STORE_SIZE] = { - { // 5 -10,10,10,10,10,10,19,19,12,13,13,13,13,13,13,13,13,14,64,80,64,64,73,64,64,64, -73,136,73,73,73,73,10,10,10,10,10,19,12,12,12,19,12,12,13,13,13,14,14,14,14,64, -64,64,80,73,80,73,64,73,73,73,73,73,10,10,10,10,10,19,19,10,19,19,19,12,13,13, -14,14,14,168,168,64,168,64,64,64,64,73,73,64,73,73,73,73,10,10,10,10,10,10,10, -10,19,19,19,19,12,13,13,14,14,14,14,14,14,80,64,64,64,73,64,136,73,73,73,73,10, -10,10,10,10,10,10,19,19,12,19,12,168,168,168,168,64,64,64,80,64,64,136,64,64,73, -73,64,73,73,73,73,10,10,10,10,10,10,10,19,12,12,12,13,168,0,0,0,0,168,168,168, -64,64,64,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10,19,19,12,12,13,13,57,0,0, -0,168,168,136,64,168,64,64,64,64,64,73,64,73,73,136,73,10,10,10,10,10,10,19,19, -12,12,13,13,168,168,168,168,168,64,64,168,64,64,64,64,80,73,73,73,73,73,73,73, -10,10,10,10,19,19,19,19,12,12,13,13,13,13,14,14,14,14,14,80,168,64,73,80,73,64, -73,64,73,73,73,73,10,10,10,10,10,19,19,12,12,13,13,13,13,13,14,14,14,14,14,14, -80,64,80,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10,19,12,12,13,168,168,168, -168,168,168,64,64,64,80,168,64,73,80,73,64,73,64,73,73,73,73,10,10,10,10,10,10, -10,19,12,13,168,0,223,0,223,0,219,168,168,168,64,64,64,64,80,64,64,73,73,73,73, -73,59,10,10,10,10,10,10,19,12,12,168,0,0,0,0,0,168,168,168,64,168,64,64,64,73, -64,73,64,73,73,73,73,10,10,10,10,10,10,19,19,12,12,168,168,168,57,168,168,168, -64,168,168,64,80,80,73,80,73,64,73,73,73,73,73,10,10,10,10,10,19,19,12,61,13, -101,12,12,12,12,63,14,14,64,64,168,80,64,64,64,64,73,136,73,73,73,73,10,10,10, -10,10,10,19,12,12,12,101,101,12,12,12,101,14,63,64,168,64,57,64,64,64,64,64,73, -73,73,73,73,10,10,10,10,10,10,19,19,12,12,101,101,168,168,168,168,64,64,64,80, -64,80,64,64,64,64,73,64,73,73,73,73,10,10,10,10,10,10,19,19,19,100,101,101,168, -168,168,168,168,64,64,64,80,136,64,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10, -19,19,19,100,100,101,168,168,168,168,64,64,64,80,168,64,64,64,64,64,73,64,73,73, -73,73,10,10,10,10,19,10,19,12,168,168,168,168,168,0,0,0,0,168,168,168,136,64,64, -64,64,64,64,73,73,73,73,73,10,10,10,10,19,19,19,12,168,223,136,223,0,0,0,0,168, -168,168,64,136,64,64,64,64,64,73,64,73,73,73,73,10,10,10,10,19,60,19,12,168,168, -168,168,168,168,168,168,168,64,57,64,80,80,80,64,64,136,64,73,73,73,73,73,59,59, -10,10,19,60,19,19,12,12,100,100,101,101,187,101,101,64,64,80,168,64,73,80,73,64, -73,136,73,73,73,73,10,10,10,10,10,19,19,19,19,12,12,100,100,101,187,168,168,64, -64,64,64,64,64,64,64,64,64,73,73,136,73,73,10,10,10,10,19,19,19,19,19,100,100, -101,100,100,187,168,64,64,64,80,168,64,64,64,136,64,73,64,73,73,73,73,59,10,10, -19,19,12,12,12,12,19,100,101,100,100,101,168,168,64,64,64,80,80,80,64,64,64,64, -73,73,73,73,73,10,10,19,19,19,12,12,12,13,13,13,101,100,100,100,101,101,14,14, -80,64,80,73,64,64,64,73,64,73,73,73,73,10,10,10,10,19,19,19,12,12,13,14,101,100, -100,101,101,71,14,14,14,14,14,80,64,64,64,64,73,73,73,73,73,10,10,10,10,10,19, -12,12,12,13,14,101,100,101,101,209,64,64,64,80,64,80,64,64,64,64,73,64,73,73,73, -73,10,10,10,10,10,19,12,19,12,14,14,101,101,14,14,14,14,14,64,168,136,64,64,64, -64,73,64,73,73,73,73,73,10,10,10,10,10,19,19,19,19,13,14,13,13,14,14,209,64,64, -64,80,64,64,73,80,73,73,73,64,73,73,73,73,10,10,10,10,10,10,19,19,19,13,14,14, -14,13,14,14,63,14,14,14,63,80,80,64,64,64,64,73,73,73,73,73 + { // 0, city +64,73,10,168,19,12,14,13,80,101,0,100,136,57,59,63,34,34,34,68,87,119,119,119, +118,8,0,16,0,28,17,17,34,34,36,85,84,85,119,118,102,96,0,129,129,1,17,17,34,34, +36,66,68,69,119,102,99,48,48,0,1,16,17,17,34,34,34,34,68,68,87,118,102,102,104, +0,1,12,17,17,34,34,34,36,69,69,51,51,0,8,0,192,1,16,17,17,34,34,34,36,85,87,58, +170,163,51,0,0,0,1,17,17,34,34,34,68,85,119,218,170,51,192,48,0,0,16,17,193,34, +34,34,68,85,119,51,51,48,3,0,0,129,17,17,17,34,34,68,68,85,119,119,102,102,104, +48,24,16,16,17,17,34,34,36,69,87,119,119,102,102,102,128,128,0,1,17,17,34,34,34, +69,87,51,51,51,0,8,48,24,16,16,17,17,34,34,34,36,87,58,250,250,227,51,0,0,128,1, +17,17,226,34,34,36,85,58,170,170,51,48,48,0,16,16,17,17,34,34,34,68,85,51,61,51, +48,51,8,129,129,1,17,17,34,34,36,69,103,149,85,95,102,0,56,0,0,28,17,17,34,34, +34,69,85,153,85,89,111,3,13,0,0,1,17,17,34,34,34,68,85,153,51,51,0,8,8,0,0,16, +17,17,34,34,34,68,75,153,51,51,48,0,140,0,0,1,17,17,34,34,34,68,75,185,51,51,0, +8,48,0,0,16,17,17,34,34,66,69,51,51,58,170,163,51,192,0,0,1,17,17,34,34,68,69, +63,207,170,170,51,48,192,0,0,16,17,17,34,34,78,69,51,51,51,51,48,208,136,128,12, +1,17,17,238,34,78,68,85,187,153,185,144,8,48,24,16,28,17,17,34,34,36,68,69,91, +185,179,48,0,0,0,0,1,28,17,34,34,68,68,75,185,187,179,0,8,48,0,192,16,17,17,226, +36,69,85,84,185,187,147,48,0,136,128,0,1,17,17,34,68,69,85,119,121,187,185,150, +104,8,16,0,16,17,17,34,34,68,69,87,105,187,153,246,102,102,128,0,1,17,17,34,34, +36,85,87,105,185,156,0,8,8,0,0,16,17,17,34,34,36,84,86,105,150,102,102,3,192,0, +1,1,17,17,34,34,36,68,71,103,118,108,0,8,0,24,17,16,17,17,34,34,34,68,71,102, +103,102,246,102,248,128,0,1,17,17 } }; SFG_PROGRAM_MEMORY -uint8_t SFG_weaponImages[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] = +uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = { { // 0, axe -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,1,1,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -1,1,2,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,0,175, -175,175,175,175,175,175,175,175,175,1,1,2,3,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,0,0,6,0,175,175,175,175,175,175,175,175,175,1,48,2,3,2,175, -175,175,175,175,175,175,175,175,175,175,175,0,0,6,6,6,0,175,175,175,175,175,175, -175,175,1,48,2,3,2,2,175,175,175,175,175,175,175,175,175,175,0,0,6,6,6,6,6,0, -175,175,175,175,175,175,175,1,48,2,3,2,2,48,175,175,175,175,175,175,175,175,0,0, -6,6,6,6,6,6,93,0,175,175,175,175,175,175,1,1,2,3,2,2,48,1,175,175,175,175,175, -175,175,0,6,6,6,6,6,6,93,93,93,0,175,175,175,175,175,1,52,6,1,2,48,1,1,175,175, -175,175,175,175,0,0,5,6,6,6,6,93,93,93,93,93,0,175,175,175,1,1,3,6,5,3,1,1,1, -175,175,175,175,175,175,0,5,5,5,6,6,6,93,93,93,93,93,93,0,175,175,1,2,4,6,4,3, -50,1,1,175,175,175,175,175,175,0,4,4,5,5,5,6,93,93,93,93,93,93,94,0,175,1,50,3, -5,4,3,50,1,175,175,175,175,175,175,175,0,4,4,4,4,4,173,173,93,93,93,93,93,94,94, -94,1,2,3,4,3,43,42,1,175,175,175,175,175,175,175,0,4,4,4,4,4,172,172,173,173,93, -93,93,94,94,93,93,33,2,4,3,2,2,1,175,175,175,175,175,175,175,0,6,5,5,4,4,172, -172,172,172,173,173,93,94,94,93,93,93,33,2,3,2,1,1,175,175,175,175,175,175,175, -175,175,0,0,6,6,93,172,172,172,172,172,173,94,94,93,93,93,93,94,1,2,1,175,175, -175,175,175,175,175,175,175,175,175,175,175,0,0,94,94,172,172,172,172,93,94,93, -93,93,93,93,94,33,1,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,0,94,94,94,93,93,93,172,173,93,93,93,93,93,1,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,0,0,94,94,93,93,172,172,173,93,93, -172,172,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,0,94,94,94,172,172,172,172,172,172,172,93,0,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,170,170,94,172,172, -171,171,172,93,93,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,0,4,172,170,94,171,172,172,173,173,173,93,0,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,3,81,170,94,94, -170,172,172,172,172,171,171,0,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,0,0,0,94,94,93,170,172,172,170,170,170,0,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -0,94,94,93,170,170,170,170,0,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,0,94,94,170,170,170,0,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,0,94,170,170,0,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,0,0,175,175, -175,175,175,175,175,175,175,175,175,175,175 +175,93,0,172,1,6,94,2,4,170,3,173,5,48,171,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,71,0,0,0,0,0,0,0,0,34,0,0,0,0,0,68,122,0,0,0,0,0, +0,0,34,82,0,0,0,0,4,215,167,0,0,0,0,0,0,34,85,82,0,0,0,0,77,122,119,0,0,0,0,0, +34,85,85,82,0,0,0,4,215,167,125,0,0,0,0,34,85,85,85,18,0,0,0,68,122,119,212,0,0, +0,2,85,85,85,17,18,0,0,4,133,71,212,64,0,0,2,44,85,85,17,17,18,0,4,74,92,164,68, +0,0,0,44,204,85,81,17,17,18,0,71,133,138,116,64,0,0,2,136,204,197,17,17,17,98,4, +122,200,167,64,0,0,0,40,136,136,187,17,17,22,102,71,168,170,116,0,0,0,2,136,136, +131,59,177,17,102,17,247,138,119,64,0,0,0,37,204,136,51,51,187,22,97,17,247,167, +68,0,0,0,0,2,37,81,51,51,59,102,17,17,100,116,0,0,0,0,0,0,2,38,99,51,49,97,17, +17,111,64,0,0,0,0,0,0,0,2,102,97,17,59,17,17,20,0,0,0,0,0,0,0,0,0,34,102,17,51, +177,19,50,0,0,0,0,0,0,0,0,0,0,38,102,51,51,51,49,32,0,0,0,0,0,0,0,0,0,2,153,99, +62,227,17,32,0,0,0,0,0,0,0,0,0,2,131,150,227,59,187,18,0,0,0,0,0,0,0,0,0,2,164, +150,105,51,51,238,32,0,0,0,0,0,0,0,0,0,34,38,97,147,57,153,32,0,0,0,0,0,0,0,0,0, +0,2,102,25,153,146,0,0,0,0,0,0,0,0,0,0,0,0,38,105,153,32,0,0,0,0,0,0,0,0,0,0,0, +0,2,105,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,32,0,0,0,0,0,0 }, { // 1, shotgun -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,1,1,1,1,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,1,1,1,1,17,100,100,100, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,1,1,1,5,6,4,17,100,101,101,101,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,1,1,1,1,5,6,4,6,5,17,100,101,101,21,21,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,1,1,1,4,4,6,7,7,6,1,3,5,17,99,101,101, -21,21,175,175,175,175,175,175,175,175,175,175,1,1,1,1,5,5,5,7,7,6,6,6,5,1,3,5, -17,99,100,101,101,21,175,175,175,175,175,175,175,175,1,1,6,5,6,6,7,7,6,6,4,6,7, -7,4,6,6,5,17,99,100,101,101,21,175,175,175,175,175,175,175,1,6,6,3,6,7,6,6,7,7, -4,5,6,6,4,4,5,5,4,17,99,99,100,101,21,175,175,175,175,175,175,1,6,6,6,3,6,7,7,7, -7,6,4,4,5,3,3,5,1,3,4,17,98,99,100,101,101,175,175,175,175,175,175,1,7,7,2,6,7, -7,6,5,5,5,5,3,3,74,4,4,1,3,4,17,98,98,99,101,101,175,175,175,175,175,1,6,6,6,2, -6,6,6,5,5,5,5,5,4,4,4,4,4,4,4,4,3,17,18,18,101,101,175,175,175,175,175,1,6,6,6, -4,6,4,4,4,4,4,4,4,4,3,3,3,3,3,3,1,3,74,17,98,100,101,175,175,175,175,17,1,1,4,4, -4,2,4,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,74,17,17,100,101,175,175,175,101,99,25,25,1, -3,42,2,3,42,3,42,42,42,42,42,42,42,74,42,74,74,42,74,17,17,1,98,100,175,175,175, -17,17,17,25,25,25,25,9,17,17,17,17,17,1,17,1,17,1,1,1,1,1,1,73,1,1,1,98,98,175, -175,175,175,175,1,25,25,25,26,26,26,19,19,19,19,19,19,19,19,19,19,19,19,26,26, -18,73,17,1,98,100,175,175,175,17,17,17,25,25,25,19,100,100,100,101,101,101,101, -101,101,101,101,101,101,101,100,100,19,19,17,1,100,101,175,175,175,101,99,25,25, -1,4,4,26,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,17,17,100,101,175,175,175,175,17,1,1, -6,6,4,4,6,6,6,7,7,6,6,6,5,5,5,4,4,4,1,3,3,17,99,101,101,175,175,175,175,175,1,7, -7,7,2,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,5,3,17,100,101,101,175,175,175,175,175,1, -6,6,6,2,5,6,6,6,6,6,7,6,6,7,7,7,6,1,3,7,5,17,99,100,101,21,175,175,175,175,175, -175,1,4,4,2,4,6,5,5,5,5,6,6,4,4,4,6,6,1,3,5,4,17,100,101,101,21,175,175,175,175, -175,175,1,5,5,5,2,5,4,4,4,4,4,74,3,4,3,3,5,6,6,5,17,99,101,101,21,21,175,175, -175,175,175,175,175,1,5,5,4,4,4,4,3,4,4,2,2,3,3,74,2,4,4,4,17,99,101,101,21,21, -175,175,175,175,175,175,175,175,1,1,3,3,53,5,4,3,3,3,2,42,3,3,2,1,3,3,17,99,100, -101,101,21,175,175,175,175,175,175,175,175,175,175,1,1,1,1,3,5,5,5,5,4,4,3,2,1, -3,2,17,99,100,101,101,21,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,1,1,1,84,84,3,5,5,5,2,3,2,17,99,99,100,101,101,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,1,1,1,1,83,84,74,84,2,17,98,99,100,101, -101,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,1,1,1,4,4,2,17,98,99,101,101,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,1,1,1,1,17,18,100,100, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,1,1,1,1,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175 +175,1,3,4,6,101,5,17,7,100,2,99,19,21,25,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0, +0,0,0,0,0,0,0,0,0,0,0,17,17,121,153,0,0,0,0,0,0,0,0,0,0,1,17,100,55,149,85,0,0, +0,0,0,0,0,0,1,17,22,67,70,121,85,221,0,0,0,0,0,0,0,17,19,52,136,65,38,123,85, +221,0,0,0,0,0,17,17,102,104,132,68,97,38,123,149,93,0,0,0,0,17,70,68,136,68,52, +136,52,70,123,149,93,0,0,0,1,68,36,132,72,131,100,67,54,99,123,185,93,0,0,0,20, +68,36,136,136,67,54,34,97,35,126,185,85,0,0,0,24,138,72,132,102,102,34,163,49, +35,126,235,85,0,0,1,68,74,68,70,102,102,51,51,51,51,39,170,85,0,0,1,68,67,67,51, +51,51,50,34,34,33,42,126,149,0,0,113,19,51,163,34,34,34,34,34,34,33,42,119,149, +0,5,190,225,47,162,242,255,255,255,250,250,175,167,113,233,0,7,119,238,238,119, +119,119,23,23,17,17,17,113,17,238,0,0,1,238,239,255,204,204,204,204,204,204,255, +167,113,233,0,7,119,238,236,153,149,85,85,85,85,85,153,204,113,149,0,5,190,225, +51,242,34,34,34,34,34,34,33,34,119,149,0,0,113,20,67,52,68,136,68,70,102,51,49, +34,123,85,0,0,1,136,138,72,136,136,136,132,68,136,136,98,121,85,0,0,1,68,74,100, +68,68,132,72,136,65,40,103,185,93,0,0,0,19,58,52,102,102,68,51,52,65,38,55,149, +93,0,0,0,22,102,166,51,51,58,35,34,100,70,123,85,221,0,0,0,1,102,51,51,35,58, +162,42,163,51,123,85,221,0,0,0,0,17,34,102,50,34,175,34,161,34,123,149,93,0,0,0, +0,0,17,17,38,102,99,50,161,42,123,149,93,0,0,0,0,0,0,0,17,19,50,102,106,42,123, +185,85,0,0,0,0,0,0,0,0,1,17,18,58,58,126,185,85,0,0,0,0,0,0,0,0,0,0,1,17,51,167, +235,85,0,0,0,0,0,0,0,0,0,0,0,0,17,17,122,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { // 2, rocket launcher -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,0,0,0,0,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,0,0,0,0,5,4,2,2,0,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -0,6,6,6,5,4,2,142,141,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,0,4,4,4,4,4,2,142,141,0,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,3,3,3,3,3,3,2, -1,0,175,175,175,175,175,175,175,175,175,175,0,0,0,0,175,175,175,175,175,175,175, -0,0,1,1,1,1,1,1,1,1,1,175,175,175,175,175,175,175,0,0,0,2,2,2,2,0,0,175,0,0,0,0, -118,118,118,116,1,1,114,114,114,1,114,175,175,175,175,175,0,0,5,5,2,2,2,2,50,50, -2,0,117,117,118,118,117,116,116,115,114,1,114,114,36,36,36,175,175,175,175,0,5, -5,2,2,2,2,2,115,116,116,116,117,116,116,116,115,115,115,115,116,115,6,116,116, -117,117,117,175,175,175,0,20,5,2,2,2,2,115,115,115,115,115,115,115,115,116,116, -116,116,116,117,116,6,117,117,117,117,117,117,175,175,0,20,23,2,2,2,2,115,116, -116,117,116,116,116,116,116,116,117,117,117,37,37,36,6,37,37,38,38,38,38,175, -175,0,23,23,2,2,2,117,117,117,117,117,117,117,117,117,117,37,37,38,38,5,36,6,38, -39,38,38,39,38,38,175,175,0,7,2,2,2,115,117,37,37,37,37,37,37,37,37,37,6,6,6,6, -6,4,7,6,6,6,6,6,6,6,175,0,23,7,2,2,2,117,38,45,45,5,5,5,6,6,6,6,6,6,6,6,39,4,7, -6,39,39,39,39,39,39,175,0,7,7,2,2,2,117,39,39,39,39,7,7,7,7,7,7,7,7,7,7,7,5,7,7, -7,7,7,7,25,25,175,0,7,7,2,2,2,117,39,39,7,7,7,7,7,7,7,7,7,7,7,7,7,5,7,7,7,7,7, -25,30,30,175,0,23,7,2,2,2,117,37,37,37,37,37,38,38,38,38,38,38,38,38,39,39,37,7, -39,39,39,25,109,30,21,175,0,5,7,2,2,2,35,35,36,36,36,36,36,36,36,117,117,117, -118,118,37,37,36,6,38,38,38,25,30,21,37,175,0,5,23,2,2,2,115,115,115,115,115, -115,115,116,116,116,116,116,116,117,117,36,116,6,36,37,37,25,109,109,37,175,175, -0,23,2,2,2,2,115,115,115,115,115,115,115,115,115,115,115,115,115,116,116,115,6, -116,116,36,25,109,21,37,175,175,0,5,20,2,2,2,33,114,114,114,115,115,115,115,115, -115,115,115,115,115,115,115,6,115,115,115,25,109,21,37,175,175,0,5,5,2,2,2,2,33, -33,114,114,114,114,114,114,114,114,115,115,115,115,115,115,6,115,115,25,109,21, -37,175,175,175,0,5,5,2,2,2,2,33,1,1,33,33,33,33,33,114,114,114,114,114,114,115, -6,115,115,25,30,21,37,175,175,175,175,0,5,5,2,2,2,2,2,41,1,40,41,34,34,41,33,33, -33,33,114,114,115,6,114,25,30,21,37,175,175,175,175,175,0,0,5,5,2,2,2,2,2,2,2,0, -1,41,34,49,49,33,33,33,115,6,114,25,109,21,37,175,175,175,175,175,175,175,0,0,0, -2,2,2,2,0,0,175,0,0,0,0,49,33,41,41,34,41,6,25,30,21,37,175,175,175,175,175,175, -175,175,175,175,0,0,0,0,175,175,175,175,175,175,175,0,0,0,0,57,42,116,25,109,21, -37,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,0,0,0,25,21,21,37,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0, -100,21,37,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,0,25,100,117,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,0,25,107,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,0 +175,2,0,115,7,117,116,6,37,114,5,38,39,1,25,33,0,0,0,0,0,0,0,0,0,0,0,0,0,2,34, +32,0,0,0,0,0,0,0,0,0,0,0,2,34,42,129,18,0,0,0,0,0,0,0,0,0,0,0,39,119,168,26,18, +0,0,0,0,0,0,0,0,0,0,0,40,136,136,26,18,0,0,0,0,0,0,0,0,0,0,0,33,17,17,17,210,0, +0,0,0,0,34,34,0,0,0,2,45,221,221,221,221,0,0,0,2,34,17,17,34,2,34,37,85,109,217, +153,217,0,0,2,42,161,17,17,17,37,85,85,102,57,217,152,136,0,0,42,161,17,17,54, +102,86,102,51,51,99,118,101,85,0,2,138,17,17,51,51,51,51,102,102,101,103,85,85, +85,0,40,113,17,19,102,86,102,102,101,85,136,135,136,187,187,0,39,113,17,85,85, +85,85,85,136,187,168,123,203,188,187,0,36,17,19,88,136,136,136,136,119,119,120, +71,119,119,119,2,116,17,21,184,138,170,119,119,119,119,200,71,204,204,204,2,68, +17,21,204,204,68,68,68,68,68,74,68,68,68,238,2,68,17,21,204,68,68,68,68,68,68, +74,68,68,78,187,2,116,17,21,136,136,139,187,187,187,188,200,76,204,229,186,2, +164,17,19,56,136,136,136,85,85,88,136,123,187,235,168,2,167,17,19,51,51,51,102, +102,102,85,134,120,136,229,88,0,39,17,17,51,51,51,51,51,51,54,99,118,104,229, +168,0,42,129,17,249,153,51,51,51,51,51,51,115,51,229,168,0,42,161,17,31,249,153, +153,153,147,51,51,55,51,229,168,0,2,170,17,17,253,223,255,255,153,153,153,55,51, +235,168,0,0,42,161,17,17,253,223,17,255,255,249,147,121,235,168,0,0,2,42,161,17, +17,17,45,241,255,255,243,121,229,168,0,0,0,2,34,17,17,34,2,34,47,255,241,247, +235,168,0,0,0,0,0,34,34,0,0,0,2,34,47,22,229,168,0,0,0,0,0,0,0,0,0,0,0,0,2,34, +234,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,53,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,2,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34 } }; @@ -735,89 +449,51 @@ Also: add flip option to sprite drawing function so that some frames can be reused flipped (good for walk anims). */ SFG_PROGRAM_MEMORY uint8_t - SFG_monsterSprites[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] = + SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = { { // 0, spider idle -175,175,175,0,0,0,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,0,0,0,0,175,175,175,175,175,0,5,4,95,5,0,175,175,175,175,175,175, -175,175,175,175,175,175,175,175,175,175,0,6,3,5,4,0,175,175,175,0,5,0,2,2,0,5,0, -175,175,175,175,175,175,175,175,175,175,175,175,175,0,0,7,6,3,4,3,3,0,175,175,0, -95,2,93,3,2,4,0,175,175,175,175,175,175,175,175,175,175,175,0,0,7,6,6,5,0,0,0,0, -0,0,175,0,4,2,3,93,2,95,0,175,175,0,175,175,175,175,175,175,175,0,7,6,6,5,4,0, -175,175,175,175,175,175,175,0,5,0,2,2,0,5,0,0,175,0,0,175,175,175,175,0,0,7,6,6, -5,10,0,175,175,175,175,175,175,175,175,175,0,5,95,4,5,1,1,1,0,3,6,0,175,175,175, -175,175,0,0,3,10,4,0,175,175,175,175,175,175,175,175,0,1,3,0,0,1,3,1,3,5,5,5,0, -175,175,175,175,175,175,175,0,5,4,3,0,175,175,175,175,175,175,0,5,4,5,1,1,4,10, -4,6,5,6,6,6,0,175,175,175,175,175,175,0,5,4,3,0,0,0,0,0,175,175,0,4,3,4,1,3,0,6, -6,6,5,5,5,5,4,0,175,175,175,0,0,0,3,3,7,6,3,5,5,4,0,175,0,5,4,95,1,0,0,62,62,6, -5,4,5,4,5,0,175,0,0,7,7,7,6,6,6,6,3,4,4,3,3,0,175,0,0,0,4,6,6,223,63,223,62,5,4, -4,4,0,175,175,175,0,6,6,6,6,5,5,10,10,10,10,10,0,175,175,0,6,6,6,5,223,7,63,223, -223,4,4,4,4,0,175,175,175,10,3,3,10,10,3,3,3,4,3,0,175,175,175,0,0,65,65,3,62, -223,7,223,223,223,4,4,4,4,120,120,120,20,18,5,4,18,3,0,0,0,0,0,0,175,0,75,74,65, -68,145,3,4,223,223,63,62,223,4,4,120,1,18,3,20,20,1,5,4,0,175,175,175,175,175, -175,0,69,68,0,74,74,82,145,4,4,223,7,63,223,3,120,18,18,3,20,20,21,3,3,1,175, -175,175,175,175,175,175,0,76,75,0,67,67,67,145,4,4,223,7,63,223,3,120,18,18,3, -20,20,21,3,3,1,175,175,175,175,175,175,175,175,0,75,74,65,74,145,3,4,223,223,63, -62,223,4,4,120,1,18,3,20,20,1,5,4,0,175,175,175,175,175,175,175,175,0,0,65,65,3, -62,223,7,223,223,223,4,4,4,4,120,120,120,20,18,5,4,10,3,0,0,0,0,0,0,175,175,0,6, -6,6,5,223,7,63,223,223,4,4,4,4,0,175,175,175,10,5,4,10,10,3,3,3,4,3,0,175,175,0, -0,0,4,6,6,223,63,223,62,5,4,4,4,0,175,175,175,0,7,7,7,7,7,6,10,10,10,10,10,0,0, -5,4,95,1,0,0,62,62,6,5,4,5,4,5,0,175,0,0,6,6,6,6,6,6,6,3,5,5,4,3,0,0,4,3,4,1,3, -0,6,6,6,6,5,5,5,4,0,175,175,175,0,0,0,3,3,7,6,3,4,4,3,0,175,0,5,4,5,1,1,4,10,4, -6,6,6,6,6,0,175,175,175,175,175,175,0,5,4,3,1,0,0,0,0,175,175,175,0,1,3,0,0,1,3, -1,3,5,5,5,0,175,175,175,175,175,175,175,0,5,4,3,0,175,175,175,175,175,175,175, -175,0,5,4,95,5,1,1,1,0,3,6,0,175,175,175,175,175,0,0,3,3,4,0,175,175,175,175, -175,175,175,175,0,5,0,2,2,0,5,0,0,175,0,0,175,175,175,175,0,0,7,7,7,7,10,0,175, -175,175,175,175,175,175,175,0,95,2,3,93,2,4,0,175,175,0,175,175,175,175,175,175, -175,0,7,6,6,6,7,0,175,175,175,175,175,175,175,0,4,2,93,3,2,95,0,175,175,175,175, -175,175,175,175,175,175,175,0,0,5,6,6,6,0,0,0,0,0,0,175,0,5,0,2,2,0,5,0,175,175, -175,175,175,175,175,175,175,175,175,175,175,0,0,5,6,3,4,4,3,0,175,175,175,0,5, -95,4,5,0,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,0,5,3, -4,3,0,175,175,175,175,175,0,0,0,0,175,175,175,175,175,175,175,175,175,175,175, -175,175,175,175,175,175,175,0,0,0,0,175,175,175 +175,0,4,3,5,6,223,1,7,10,2,20,62,95,120,18,0,1,17,16,0,0,0,0,0,0,0,0,1,17,16,0, +0,20,45,65,0,0,0,0,0,0,0,0,21,52,33,0,1,65,170,20,16,0,0,0,0,0,0,17,133,50,51, +16,1,218,211,162,16,0,0,0,0,0,17,133,84,17,17,17,1,42,61,173,16,1,0,0,0,1,133, +84,33,0,0,0,1,65,170,20,17,1,16,0,1,24,85,73,16,0,0,0,0,20,210,71,119,19,81,0,0, +1,19,146,16,0,0,0,1,115,17,115,115,68,65,0,0,0,1,66,49,0,0,0,20,36,119,41,37,69, +85,16,0,0,1,66,49,17,17,0,18,50,115,21,85,68,68,33,0,1,17,51,133,52,66,16,20,45, +113,28,197,66,66,65,1,24,136,85,85,50,35,49,1,17,37,86,198,196,34,33,0,1,85,85, +68,153,153,145,0,21,85,70,140,102,34,34,16,0,147,57,147,51,35,16,0,17,119,60, +104,102,98,34,46,238,191,66,243,17,17,17,1,57,115,115,38,108,198,34,231,243,187, +116,33,0,0,0,18,49,153,151,34,104,198,62,255,59,180,51,112,0,0,0,18,49,51,55,34, +104,198,62,255,59,180,51,112,0,0,0,1,57,121,115,38,108,198,34,231,243,187,116, +33,0,0,0,0,17,119,60,104,102,98,34,46,238,191,66,147,17,17,17,0,21,85,70,140, +102,34,34,16,0,148,41,147,51,35,16,1,17,37,86,198,196,34,33,0,1,136,136,133,153, +153,145,20,45,113,28,197,66,66,65,1,21,85,85,85,52,66,49,18,50,115,21,85,84,68, +33,0,1,17,51,133,50,35,16,20,36,119,41,37,85,85,16,0,0,1,66,55,17,17,0,1,115,17, +115,115,68,65,0,0,0,1,66,49,0,0,0,0,20,45,71,119,19,81,0,0,1,19,50,16,0,0,0,1, +65,170,20,17,1,16,0,1,24,136,137,16,0,0,0,1,218,61,162,16,1,0,0,0,1,133,85,129, +0,0,0,1,42,211,173,16,0,0,0,0,0,17,69,85,17,17,17,1,65,170,20,16,0,0,0,0,0,0,17, +69,50,35,16,0,20,210,65,0,0,0,0,0,0,0,0,20,50,49,0,0,1,17,16,0,0,0,0,0,0,0,0,1, +17,16,0 }, { // 1, spider attacking -175,175,183,183,183,1,1,1,183,22,102,175,175,175,175,175,175,175,175,175,175, -175,175,175,0,0,0,0,0,175,175,175,175,175,183,183,191,183,183,183,183,191,191, -191,175,175,175,175,175,175,175,175,175,175,175,0,6,4,4,5,4,0,0,175,175,175,175, -183,111,183,183,183,191,191,191,183,175,175,175,175,175,175,175,175,175,175,1,6, -7,6,3,4,3,3,3,0,175,175,175,183,111,31,183,31,191,191,183,175,175,175,175,175, -175,175,175,175,175,1,7,7,6,0,0,0,0,0,0,175,175,183,183,191,111,31,31,31,191, -183,183,175,1,175,175,175,175,175,175,175,1,7,7,5,4,0,175,175,175,175,175,175, -175,183,191,191,191,191,191,191,191,191,183,183,1,1,175,175,175,175,175,1,22,23, -5,10,0,175,175,175,175,175,175,175,175,183,191,191,183,183,183,183,191,191,191, -191,20,31,48,175,175,175,1,22,23,22,4,10,0,175,175,175,175,175,175,175,175,183, -183,183,183,20,183,183,183,191,191,191,22,22,5,0,175,175,1,1,1,4,10,4,3,0,0,0,0, -0,175,175,175,175,1,22,101,22,41,41,183,183,191,102,23,31,6,0,175,175,175,175, -175,1,5,3,0,3,4,5,5,4,0,175,175,175,48,20,20,101,41,20,1,31,31,22,31,22,5,4,1, -175,175,175,1,1,3,7,7,6,3,4,4,3,3,0,175,175,0,5,4,102,41,1,1,30,30,31,101,5,4,5, -1,175,175,1,7,7,6,6,5,5,3,10,10,10,0,0,175,175,175,0,0,48,101,31,31,222,31,222, -5,4,4,4,0,175,1,23,23,6,5,5,10,10,10,3,3,0,175,175,175,175,175,0,6,6,31,31,22, -222,7,6,223,4,4,4,4,0,175,0,10,3,3,10,3,3,3,3,4,3,0,175,175,175,175,0,0,0,57,57, -3,62,223,7,223,223,223,4,4,4,120,120,120,18,5,4,18,3,3,0,0,0,0,0,175,175,0,75, -74,65,67,67,145,3,4,223,223,63,62,223,4,120,1,18,3,20,1,5,4,0,0,175,175,175,175, -175,175,0,69,68,67,0,74,74,82,145,4,4,223,7,63,223,120,18,18,3,20,21,3,3,1,175, -175,175,175,175,175,175,175,0,76,75,74,0,67,67,67,145,4,4,223,7,63,223,120,18, -18,3,20,21,3,3,1,175,175,175,175,175,175,175,175,175,0,75,74,65,74,74,145,3,4, -223,223,63,62,223,4,120,1,18,3,20,1,5,4,0,0,175,175,175,175,175,175,175,175,0,0, -0,65,65,3,62,223,7,222,223,223,4,4,4,120,120,120,18,5,4,18,3,3,0,0,0,0,0,175, -175,175,0,6,6,6,6,5,223,7,31,222,222,4,4,4,0,175,1,3,3,3,10,3,3,3,3,4,3,0,175, -175,175,175,0,0,0,20,31,31,222,31,222,22,20,4,4,0,175,1,7,7,7,7,7,10,10,10,3,3, -0,175,175,175,175,0,5,4,102,41,1,1,30,30,31,101,22,4,5,1,1,175,1,22,5,6,6,7,7,3, -10,10,10,0,0,175,175,48,101,20,101,41,20,1,31,22,31,22,22,5,4,1,175,175,175,1,1, -3,5,6,6,3,4,4,3,3,0,175,183,183,22,101,22,41,183,183,183,23,23,31,31,6,0,175, -175,175,175,175,0,5,3,0,3,4,5,5,4,0,175,175,183,183,183,41,183,183,183,191,183, -183,101,22,22,5,0,175,175,1,1,1,3,10,4,3,0,0,0,0,0,175,175,175,183,191,183,183, -183,183,191,191,191,183,98,20,31,0,175,175,175,1,22,7,7,5,10,0,175,175,175,175, -175,175,175,175,183,191,191,191,191,191,191,191,183,183,1,1,48,175,175,175,175, -175,1,22,6,7,10,0,175,175,175,175,175,175,175,175,183,183,111,31,31,31,191,183, -183,1,175,1,175,175,175,175,175,175,175,1,23,7,5,4,0,175,175,175,175,175,175, -175,175,102,111,31,31,31,191,191,183,9,175,175,175,175,175,175,175,175,175,175, -1,22,6,6,0,0,0,0,0,0,175,175,175,183,183,111,111,111,191,191,191,183,175,175, -175,175,175,175,175,175,175,175,175,1,5,6,6,3,4,3,3,3,0,175,175,175,183,191,183, -183,183,191,191,191,15,175,175,175,175,175,175,175,175,175,175,175,0,5,4,4,5,4, -0,0,175,175,175,175,183,183,1,1,183,182,102,183,175,175,175,175,175,175,175,175, -175,175,175,175,175,0,0,0,0,0,175,175,175 +175,0,183,3,4,1,191,5,31,6,7,22,10,223,20,18,0,34,37,85,43,176,0,0,0,0,0,0,17, +17,16,0,0,34,98,34,38,102,0,0,0,0,0,1,148,71,65,16,0,2,98,34,102,98,0,0,0,0,0, +89,169,52,51,49,0,2,104,40,102,32,0,0,0,0,5,170,145,17,17,16,2,38,104,136,98,32, +80,0,0,0,90,167,65,0,0,0,2,102,102,102,102,34,85,0,0,5,184,124,16,0,0,0,2,102, +34,34,102,102,232,80,0,91,139,76,16,0,0,0,2,34,46,34,38,102,187,113,0,85,84,196, +49,17,17,0,0,91,235,85,34,107,136,145,0,0,5,115,19,71,116,16,0,94,238,94,88,139, +139,116,80,0,85,58,169,52,67,49,0,23,75,85,91,184,231,71,80,5,170,153,119,60, +204,17,0,1,21,232,141,141,116,68,16,88,137,119,204,195,49,0,0,1,153,136,189,169, +212,68,65,1,195,60,51,51,67,16,0,1,17,85,55,218,221,212,68,85,95,116,243,49,17, +17,0,19,197,51,83,77,217,125,69,95,62,87,65,16,0,0,1,67,49,204,197,68,218,157, +95,243,235,51,80,0,0,0,1,67,193,51,53,68,218,157,95,243,235,51,80,0,0,0,0,19, +197,204,83,77,217,125,69,95,62,87,65,16,0,0,0,1,17,85,55,218,221,212,68,85,95, +116,243,49,17,17,0,1,153,153,125,168,221,68,65,5,51,60,51,51,67,16,0,1,17,232, +141,141,190,68,16,90,170,170,204,195,49,0,0,23,75,85,91,184,235,71,85,5,183,153, +170,60,204,17,0,94,238,94,88,184,187,116,80,0,85,55,153,52,67,49,2,43,235,82,34, +136,136,145,0,0,1,115,19,71,116,16,2,34,82,34,98,46,187,113,0,85,83,196,49,17, +17,0,2,98,34,38,102,44,232,16,0,91,170,124,16,0,0,0,2,102,102,102,98,37,85,0,0, +5,185,172,16,0,0,0,2,38,136,134,34,80,80,0,0,0,88,167,65,0,0,0,0,182,136,134,98, +80,0,0,0,0,5,185,145,17,17,16,0,34,102,102,102,32,0,0,0,0,0,87,153,52,51,49,0,2, +98,34,102,107,0,0,0,0,0,1,116,71,65,16,0,2,37,82,43,32,0,0,0,0,0,0,17,17,16,0 } }; diff --git a/assets/img2array.py b/assets/img2array.py index 38d89e5..88243cc 100644 --- a/assets/img2array.py +++ b/assets/img2array.py @@ -16,6 +16,7 @@ def printHelp(): print(" -nS use the name S for the texture (defaut: \"texture\")") print(" -pT use palette from file T and indexed colors (otherwise direct colors)") print(" -5 use 565 format instead of RGB8") + print(" -c compress (4 bpp, 16 color palette), only with -pT") print(" -t transpose (store by columns)") print(""); print("by Miloslav \"drummyfish\" Ciz") @@ -37,6 +38,7 @@ OUT_WIDTH = 64 OUT_HEIGHT = 64 USE_565 = False TRANSPOSE = False +COMPRESS = False for s in sys.argv: if s [:2] == "-x": @@ -54,9 +56,14 @@ for s in sys.argv: USE_PALETTE = True elif s[:2] == "-t": TRANSPOSE = True + elif s[:2] == "-c": + COMPRESS = True else: FILENAME = s +if not USE_PALETTE: + COMPRESS = False + imageArray = [] paletteColors = [] paletteArray = [] @@ -83,6 +90,22 @@ if USE_PALETTE > 0: image2 = Image.new("RGB",(OUT_WIDTH,OUT_HEIGHT),color="white") pixels2 = image2.load() +def findClosestColor(pixel,paletteColors): + closestIndex = 0 + closestDiff = 1024 + + # find the index of the closest color: + + for i in range(len(paletteColors)): + c = paletteColors[i] + diff = abs(pixel[0] - c[0]) + abs(pixel[1] - c[1]) + abs(pixel[2] - c[2]) + + if diff < closestDiff: + closestIndex = i + closestDiff = diff + + return closestIndex + for y in range(OUT_HEIGHT): for x in range(OUT_WIDTH): x2 = y if TRANSPOSE else x @@ -95,19 +118,7 @@ for y in range(OUT_HEIGHT): pixel = pixels[coord] if USE_PALETTE: - closestIndex = 0 - closestDiff = 1024 - - # find the index of the closest color: - - for i in range(len(paletteColors)): - c = paletteColors[i] - diff = abs(pixel[0] - c[0]) + abs(pixel[1] - c[1]) + abs(pixel[2] - c[2]) - - if diff < closestDiff: - closestIndex = i - closestDiff = diff - + closestIndex = findClosestColor(pixel,paletteColors) imageArray.append(closestIndex) pixels2[x,y] = paletteColors[closestIndex] else: @@ -122,6 +133,46 @@ for y in range(OUT_HEIGHT): #----------------------- +def compressImageArray(a): + result = [] + + reducedPalette = [] + + histogram = [0 for i in range(256)] + + for c in a: + histogram[c] += 1 + + for i in range(16): + maxValue = 0 + maxIndex = 0 + + for j in range(256): + if histogram[j] > maxValue: + maxValue = histogram[j] + maxIndex = j + + reducedPalette.append(maxIndex) + histogram[maxIndex] = 0 + + paletteMap = [findClosestColor(paletteColors[i],[paletteColors[j] for j in reducedPalette]) for i in range(256)] + + oneByte = 0 + byteCount = 0 + + for c in a: + if byteCount % 2 == 0: + oneByte = paletteMap[c] + else: + oneByte = (oneByte << 4) | paletteMap[c] + result.append(oneByte) + + byteCount += 1 + + result = reducedPalette + result + + return result + def printArray(array, name, sizeString, dataType="const uint8_t"): print(dataType + " " + name + "[" + sizeString + "] = {") arrayString = "" @@ -153,6 +204,9 @@ if USE_PALETTE: print("#define " + NAME.upper() + "_TEXTURE_WIDTH " + str(OUT_WIDTH)) print("#define " + NAME.upper() + "_TEXTURE_HEIGHT " + str(OUT_HEIGHT)) print("") + +if COMPRESS: + imageArray = compressImageArray(imageArray) printArray(imageArray,NAME + "Texture",str(len(imageArray))) diff --git a/assets/wall_texture0.png b/assets/wall_texture0.png new file mode 100644 index 0000000000000000000000000000000000000000..844c95da01da9f489ce70164bb51a021559d2304 GIT binary patch literal 1150 zcmV-^1cCdBP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00ZVpL_t(o!<|rek4&Of;7bq$~s+np;#nck#b2by3xxZM>pkDS+DR&f3Y)wfuhME0t zGxPL4xG~z+D$O68BQGwBE;WtzCg;;-X@yAY19}xwNx%2*<$R zE=|mT&h2S|vJYF(An<&2X)db!>NFe$1_D%#0)8AMo*RMfP5GvP>Q#WQ z!f89aba*=KP~BJNY^s38?&t0_N0jFroOA4c?u=hUL1xE;t$9#TD~1x;%4h_ORsiKC zjZAF3;UXFYntler&aqW2l^X+gzMu8Se!q`u>ff6Ku$aJ!P0Ti(q5|k8%Cf}cx5p^M zVyVD#Hc3-IrDLv0?87>}+;qGENsx%=S5nQ{UF4*+j~7~~M8B9zRxH?9Z^z1fA?iTr zj2nujG61Cm*eKe|5efYO)K8xCiRSt{Zr1Y5$Z}Wj2C(fyrx^LgM+>1D%T~Uf4ZWPr z6hGq@ytqD{Z3pU72P!*b>~sfkK|=qMot`mdQ&cz>@M}rP5(OF;h(b&!b-te>8w~=g zA1x4q@=(BOrnW_r|1rOAPFc=ycYSRFkLNtlU6F$gw!3H$NbDY7y$qoD>1=NxT5-;n zF?$9E6gi)rDf~GBR%f)R>-x0&{s^|paCdWU%ou7aw01T;Yh(;nRofb&VkTQT3Q(3M z9v&W0mgPUW!jJygpfcwD1q<}F1OSO>1!yOt<#rz3xYrky&b(k-K>^^oTfzY#;W-E8 z43D2SsO#Dx=%=6G0~Cl4F^u5M2==UD3%RK7tCKDo+na~zP!bzhVtclqW784