from pyka3dc import * # TEXTURES & SPRITES COMPRESSED DATA S_WIDTH, S_HEIGHT, S_BITS, S_TRANSP, S_COLOR, S_DATA, S_PALETTE, S_REPEAT = tuple(range(8)) map_colors_palette = ((255,255,255),(199,98,80),(66,121,35)) textures = ( (0,0,0,-1,0), [64,64,2,-1,1, b'\x045\b\5\22\33\21\4\5\26\v!\4\5\v\26\31\4\t\32\v\21\b\5\16\27\5\v\t\a\4\5\22\a\6\v\35\4\5\v\22\35\4\t\22\33\r\4\5\16#\t\a\4\5\32\17\31\4\5\v\22\a\31\4\5\26\27\t\a\5\4\t\n#\t\a\4\5\26\a\6\v\31\4\5\v\6\23\31\4\5\26\a\6\17\5\a\t\4\t\16#\t\4\5\32\23\25\4\5\a\6\a\n\a\5\a\t\6\t\4\5\22#\t\4\r\16\33\r\4\5\26\a\6\v\31\4\5\v\6\17\35\4\5\16\23\t\a\21\4\25\16\v\25\4\5\26\17\r\6\r\4\t\16\a\5\a\31\4\5\22\23\5\a\21\49\b\5\22\17!\4\5\6\a\n\a\5\a\31\4\5\26\17\x194\t\b\5\26\17\31\b\5\26\r\v\5\a\5\4\5\6\a\16\v\35\4\25\16\35\4\5\26\a\5\v\31\4\22\23\5\v\5\a\5\4\5\a\16\23\31\4\t\36\a\25\4\5\22\17!\4\16\a\n\33\t\4\5\a\22\23\25\4\5&\25\4\5\22\17\5\a\31\4\22\27\5\v\t\4\5\v\6\37\5\a\t\4\5\22\a\6\v\6\a\21\4\5\16\23\5\a\31\4\26\33\5\a\5\4\5\a\6\a\6\17\5\17\r\4\5\16\v\16\v\21\4\5\16\33\31\4\26\33\r\4\5\a\n\17\t\v\21\4\5\32\23\21\4\5\16\27\5\a\25\4\36\17\21\4\t\n\23\t\a\r\b\5&\a\21\4\5\32\17\5\a\21\4\25\4\35\b\t\n\a\6\v\5\a\25\4\5\32\23\21\4\5\32\17\31@\t\n\27\31\4\5\22\23\31\4\t\6\t\n\17\5\v\r\x045\b\t\16\27\25\4\5\22\27\25\4\t\26\23\25\49\4\t\22\23\25\4\5\16\23\35\4\5\a\t\16\23\25\4\t\n\t\6\35\4\t\22\v\6\31\4\5\n\27\35\4\5\v\5\16\27\21\4\5\22%\4\t\26\v\31\4\5\n\a\6\23\5\a\21\4\23\22\23\21\4\t\22!\4\t\26\v\31\4\5\22\17\35\4\r\a\5#\r\4\5\n-\4\t\26\a\5\a\25\4\5\22\23\31\b9\b\5\32\35\4\t\a\22\v\31\4\5\22\17\35\34\t$\5\22\5\6\35\4\5\17\16\v\31\4\5\16\23\35\4\35\17\25\b\5\16)\4\5\v\16%\4\5\16\v\5\a\35\4\r\32\35\4\5\n\5\6\5\6\35\4\5\a\22\a!\4\5\16\23\35\4\t\6\a\6\a\6\a\n\31\4\5\22%\4\t\a\6\17!\4\5\16\23\35\4\t\22\a\6\a\6\31\4\5\22%\4\5\23)\4\22\23\35\4\t\22\a\6\v\31\4\5\22\21\6\21\b\33\35\b\22\23\35\4\t\16\v\6\v\t\6\r\4\5\22%D\22\17!\4\t\16\a\6\17\31\4\t\16%\f1\b\5\16\27\5\a\21\4\5\32\17\31\4\5\22%\b\5"\v\r\4\5\16\27\5\a\21\4\5\32\v\35\4\5\22%\4\5\36\a\31\4\5\22\v\6\a\5\a\21\4\t\26\a\6\35\4\5\22%\4\5\26\a\n\31\4\v\16\v\16\a\21\4\t\32!\4\5\22%\4\5\36\a\31\4\5\22\v\6\a\5\a\21\4\r\32\35\4\5\22%\4\5\22\23\31\4\5\v\6\17\6\a\5\a\21\4\t\26\v\5\a\25\4\5\16\5\n\35\4\t\22\a\n\31\4\r\a\5\17\31\b\5\26\17\5\a\n\r\4\5\n\21\6\31\4\t\26\v\31D\t\22\17\35\4\5\16\5\6\5\6\31\4\t\26\v\31\4%\a\21\b\5\32\v\35\4\5\n\21\6\31\4\t\22\23\25\4\5"\v\21\4\5\26\v\35\b\t\22!\4\t\22\a\6\v\25\4"\17\21\4\5\26\a!\b\t\26\35\4\t\26\v\31\4\36\23\21\4\5\26\a!\b\t\22!\4\t\22\17\6\25\4\5\32\23\21\4\5\26\a!\b\r\22\35\4\t\26\v\31\4\5\32\17\25\4\5\26\v\35\b\r"\r\4\t\22\17\31\4\r\22\23\21\4\5\32\a\5\a\31\4\31\22\21\4\t\22\17\31\4\5\32\23\21\4\5\32\a!\30%\4\t\22\v\35\4\32\27\21\4\5\n\a\16\a!8\5\4\t\26\a\35\4\16\a\n\27\21\4\5\n\a\6\v\6\5\6\31\b5\4\t\n\23\35\4\32\17\6\a\21\4\5\n\17\5\6!\4\r\26\31\4\r\16\17\31\4\22\a\6\33\r\4\t\6\17\21\6\25\4\t\32\31\4\t\22\17\31\4\5\16\a\6\27\21\4\t\n\a-\4\t\32\5\a\21\4\5\22\23\31\4\5\22\27\25\4\t\16-\4\t\22\a\6\a\25\4\t\22\v\35\4\t\32\23\r\b5\f\t\26\a\31\4\t\6\a\n\v\35\4\5\36\23\rH\t\n\a\6\v\31\4\5\26\v\35\4\5\32\27\r\b-\4\t\b\5\n\a\6\23\t\a\t\4\5\a\22\17\31\4\5\32\27\r\4\t\6\5\26\t\n\a\t\4\5\22\v\35\4\5\23\6\v\5\6\25\4\5\32\17\5\a\r\4\5\6\5&\21\4\5\16\17\5\a\25\4\v\5\v\6\a!\4\5\36\17\21\4\5"\a\31\4\5\6\a\6\27\25\4\a\t\23%"\17\5\a\t\4\t\32!\4\5\16\17\6\31\4\a\25\6\a!\36\23\21\4\5\36\5\6\31\4\5\22\a\6\a\6\25\b\25\a\21\4\r\4\5\32\a\35\4\5\32\a!\4\t\n\v\16\25D\5\26\23\25\4\5\22\a\6\v\6\31\4\5\a\22\a\n\25\4', ((239,227,210),(147,49,45),(247,96,59),(213,74,51)),1], [64,64,2,0,0, b"\30\t0\t$\t$\t0\t,\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21(\21(\21\34\21\34\21(\21\30\xf9\1\4\31\n1\n%\n%\n1\n1\a\x061\a\6%\a\6%\a\x061\a\6\31\4\xf9\1\30\21(\21\34\21\34\21(\21,\t0\t$\t$\t0\t\30", ((255,0,255),(35,24,31),(96,90,88),(193,185,183)),0], [32,32,2,-1,2, b"\b\t\6\a\4\5\23\4\5\4\a\4\5\v\4\5\4\v\f\v\f\r\37\b\5\a\t\4\23\b\a\4\5\a\f\a\6\4\a\b\17\5\6\a\b\5\v\4\5\4\v\b\5\23\b\v\t\4\r\b\5\4\5\a\f\5\a\4\17\f\17\b\17\b\a\b\v\b\a\5\4\t\a\b\17\5\v\4\5\4\23\4\21\4\a\4\27\b\v\5\b\a\b\5\a\b\5\4\17\5\b\21\6\a\4\v\4\5\a\4\t\b\27\4\t\v\b\v\4\5\4\t\4\a\4\v\6\v\4\5\23\b\37\4\5\4\a\4\6\5\a\t\4\v\4\5\4\33\b\v\4\5#\5\4\5\4\v\4\a\4\5\v\4\5\a\4\v\4\v\b\5\v\4\v\4\v\4\v\4\5\4\v\4\v\b\5\a\4\17\b\a\5\4\a\f\a\4\5\a\4\21\4\a\4\6\b\23\5\b\a\4\5\4\23\5\4\a\4\5\a\4\a\5\6\4\v\4\5\a\4\a\b\a\5\f\a\4\a\b\5\a\4\5\v\5\a\b\a\4\t\4\33\4\5\a\4\5\27\b\5\v\4\17\t\4\21\a\b\5\v\4\t\17\4\5\4\a\4\t\4\a\4\5\4\a\r\4\5\4\17\4\5\6\27\4\a\b\5\4\27\4\t\f\t\6\a\4\5\23\4\5\4\a\4\5\v\4\5\4\v\f\v\f\r\37\b\5\a\t\4\23\b\a\4\5\a\f\a\6\4\a\b\17\5\6\a\b\5\v\4\5\4\v\b\5\23\b\v\t\4\r\b\5\4\5\a\f\5\a\4\17\f\17\b\17\b\a\b\v\b\a\5\4\t\a\b\17\5\v\4\5\4\23\4\21\4\a\4\27\b\v\5\b\a\b\5\a\b\5\4\17\5\b\21\6\a\4\v\4\5\a\4\t\b\27\4\t\v\b\v\4\5\4\t\4\a\4\v\6\v\4\5\23\b\37\4\5\4\a\4\6\5\a\t\4\v\4\5\4\33\b\v\4\5#\5\4\5\4\v\4\a\4\5\v\4\5\a\4\v\4\v\b\5\v\4\v\4\v\4\v\4\5\4\v\4\v\b\5\a\4\17\b\a\5\4\a\f\a\4\5\a\4\21\4\a\4\6\b\23\5\b\a\4\5\4\23\5\4\a\4\5\a\4\a\5\6\4\v\4\5\a\4\a\b\a\5\f\a\4\a\b\5\a\4\5\v\5\a\b\a\4\t\4\33\4\5\a\4\5\27\b\5\v\4\17\t\4\21\a\b\5\v\4\t\17\4\5\4\a\4\t\4\a\4\5\4\a\r\4\5\4\17\4\5\6\27\4\a\b\5\4\27\4\t\4", ((59,124,26),(119,236,77),(255,17,27),(54,66,29)),0], [63,63,2,1,0, b"\34\xc5\1 \26\b\xbd\1\b\26\b\6\4\6\4\6\a\b\xb5\1\b\a\6\4\6\4\6\b\26\v\b\xad\1\b\v\26\b\6\4\6\4\6\17\b\xa5\1\b\17\6\4\6\4\6\b\26\23\b\x9d\1\b\23\26\f'\b\x95\1\b'\b\5\b'\b\x8d\1\b'\b\r\b\23\16\v\b\x85\1\b\v\16\23\b\25\b\17\6\4\6\17\b}\b\17\6\4\6\17\b\35\b\v\16\23\bu\b\23\16\v\b%\b'\bm\b'\b-\b'\be\b'\b5\b\23\16\v\b]\b\v\16\23\b=\b\17\6\4\6\17\bU\b\17\6\4\6\17\bE\b\v\16\23\bM\b\23\16\v\bM\b'\bE\b'\bU\b'\b=\b'\b]\b\23\16\v\b5\b\v\16\23\be\b\17\6\4\6\17\b-\b\17\6\4\6\17\bm\b\v\16\23\b%\b\23\16\v\bu\b'\b\35\b'\b}\b'\b\25\b'\b\x85\1\b\23\16\v\b\r\b\v\16\23\b\x8d\1\b\17\6\4\6\17\b\5\b\17\6\4\6\17\b\x95\1\b\v\16\23\f\23\16\v\b\x9d\1\b'\4'\b\xa5\1\bG\b\xad\1\b\23\36\23\b\xb5\1\b\17\6\4\6\4\6\4\6\17\b\xbd\1\b\v\36\v\b\xc5\1\b\a\6\4\6\4\6\4\6\a\b\xc5\1\b\v\36\v\b\xbd\1\b\17\6\4\6\4\6\4\6\17\b\xb5\1\b\23\36\23\b\xad\1\bG\b\xa5\1\b'\4'\b\x9d\1\b\v\16\23\f\23\16\v\b\x95\1\b\17\6\4\6\17\b\5\b\17\6\4\6\17\b\x8d\1\b\23\16\v\b\r\b\v\16\23\b\x85\1\b'\b\25\b'\b}\b'\b\35\b'\bu\b\v\16\23\b%\b\23\16\v\bm\b\17\6\4\6\17\b-\b\17\6\4\6\17\be\b\23\16\v\b5\b\v\16\23\b]\b'\b=\b'\bU\b'\bE\b'\bM\b\v\16\23\bM\b\23\16\v\bE\b\17\6\4\6\17\bU\b\17\6\4\6\17\b=\b\23\16\v\b]\b\v\16\23\b5\b'\be\b'\b-\b'\bm\b'\b%\b\v\16\23\bu\b\23\16\v\b\35\b\17\6\4\6\17\b}\b\17\6\4\6\17\b\25\b\23\16\v\b\x85\1\b\v\16\23\b\r\b'\b\x8d\1\b'\b\5\b'\b\x95\1\b'\f\26\23\b\x9d\1\b\23\26\b\6\4\6\4\6\17\b\xa5\1\b\17\6\4\6\4\6\b\26\v\b\xad\1\b\v\26\b\6\4\6\4\6\a\b\xb5\1\b\a\6\4\6\4\6\b\26\b\xbd\1\b\26 \xc5\1\34", ((64,64,64),(255,0,255),(191,191,191),(128,128,128)),0], [80,80,3,0,0, b'\x88\aA\xb8\4I\xb8\4\31\30\31\xd8\3\31\30\31\30\31\30\31\xd8\3\31\30\21 \31\30\31\xe0\3\31\b\31(A\xe0\3\31\b\x1909\xe0\3\31\b\21X\31\xe8\3\21\b\21X\31\xa8\3\32()X\31\xa8\3\32(!`\31\xa8\3\x1a0\31`\31\xf0\3\31\xf0\4)\xd8\4)\xc0\3c\x98\3\f\30\f\30\f@c \32\xe0\2\f\30\f\20\fHc *\xd8\2\f\20\f\20\fp#82\xd0\2\f\20\f\b\fp#H:h*\xb8\1\f\x88\1;@\32\r\16\r\22H\22\37\16\r\22\xb8\2K0\22\r&\r\22 \32\r\16\r\17\r\36\r\n0\22x\24h\23\30#8\n\r6\r"\r^\r\n \n\25\n`\17\22\34X\v(\33@\n\r.\r\22\r\26\32\rF\r\n\20\n\r\16\r\n`\27\22\34\x90\1\vH\n\r\36\r\n\r&\32\r&\r&\r\n\b\n\26\22X\'\22\24\xe8\1\n\r\16\r\n\rv\r\36\r\22\r\26:0/\f\n\24\xe8\1\n\r\n\rv\r\n&\r\n\26\25&\25\32\30\'\n$X\v\20\33`\32f\n\16\r\n\27&\rV\25\n\30/\f\n\fX\23\b+`\n\r~\r\27\x8e\1\r\n\30/\n\fP\33\b+`\n\x8e\1\n\r\x96\1\r\22\20\'\nX\23\20\23\b\23X\n\r\x86\1\25\xa6\1\r\n\x90\1\23\b\23\20\23X\n\xc6\2\r\n\x88\1\23\b\23\20\v`\n\xc6\2\r\n\x88\1KX\n\xce\2\r\22xKX\n\xce\2\r\n\r\nxCX\nF\r\32\r\xee\1\r\n\r\n\x88\2\nF\22\f\22n\r\32\r^\r\n\25\n\x80\2\nF*f\r\n\26\r\n^\r\n\25\n\xf8\1\n\rF\r\32\r^\r.\nf\22\r\nh\37\30\17X\n\xf6\1\n\rf\32h/\20\27H\n\rv\r\27\r^\n\rn\nx7\b\27@\n\r~\'N\22\rv\nx\17\20\37\20\17@\n\x86\1\'N\r^\35\n\r\nx\17\20\37\20\178\n\r\x86\1\r\27\r\xc6\1\r\22x\27\b70\n\r\xf6\2\r\nx\27\20/0\n\x86\3\n\x80\1\17\30\x1f0\n\r.\25\n\r\xbe\2\r\n\xd8\1\22\r&\r"\r\xbe\2\n\xd0\1"\r\16\r\22 \n\r\xb6\2\r\22`\27P:8\n\rv\r\xbe\1\25\nHW\30:H\22\25V\25\xa6\1\r&\r\n@_\20*h\32\25.%\xa6\1\25\36\r\n8g\20"\x88\1\32\r\26%6\rn\r\n\25\16\r\nX\27(\27\xd0\1\22%6\25f\r\32\25\n`\27(\27\xe0\1\32\25\36\35f\r\n\30\22\xb0\2\np"%^\r\n\xd8\2\n\r\n\x80\1*\35.\25\22\xd8\2\n\35\np\22\r\n\20"%\22\xc0\1/x\n\r\36\r\n`\n\r\26\r\22\b\n\25"\xc8\1?p\n.\r\nP\n\r&\25\n\35\n\xd8\1O`\n\r6\r\n@\n\r>\35\n\xe0\1\27\b\27\b\37`\nF\r\n0\n\r&\r\26\35\n\xe8\1\27\b\27\20\27X\n\r6\r\26\r\22\30\n\r\36\r\22%\n\xf0\1\27\b\27\20\27X\n>\n\r\36\r\32\r\36\r\n\20"\xf8\1/\b\37X\n\f6\22\r&\25\36\r\n\xb8\2\'\b\27\16\30\x0e0\n\r\f.\r\n\b\22\r6\r\n\xc8\2\37\b\17\26\30\26(\n\34&\n \22\r\36\r\n\xf8\2\26\b\16\b\26(\n$\36\n0\n\r\16\r\n\x80\3>(\n,\16\r\n8\32\x90\3\26\b\x160\n4\r\n\xa0\3OP\n,\16\n\xa8\3OP\n,\16\n\xa8\3?> \n\r$\16\r\n\xb0\3\17(> \n$\26\r\n\xa8\3\27(\26\30\26 \n\34\16\r\32\xa8\3\x0f0\26\30\26 \n\24\r\22\xf8\3> \n\r\22\x90\4.(\22\xa0\b', ((255,0,255),(0,0,255),(51,45,43),(0,255,0),(255,255,255),(255,193,0),(255,255,32),(255,0,0)),0], [59,42,3,0,0, b'\20\21\xb8\2\31\xb0\2!\xb0\2!\xb0\2)\xa8\2\21\22\21\xa0\2\21\23\21\xa0\2\21\23\21\xa0\2\21\23\21\xa0\2\21\23\21\xb0\198\21\23\n\f\t\x88\1)4\t !\23\n\f\t01\20\t\f\t\34B\f\t\20\t\f\31\23\n\f\t \31$\t\b\31\f"\24\n\23\32\21\b\t\n\31\23\n\f\t\20\f\31\f\22\24\r\t\b\21*\f\t\f\23\32\f\31\n\31#\31\f\n#\f\36\f\t\f:\21+\n\f\t\n\f\31\n\33\f\t\f\n+\n\36\n\t\f*\24\t\f+\22\t\n\f\31\n\33\n\f\x123\36\n\24*\34\n+\22\f\n\f\t\b\t\22\v\22\v\n;\36\n\f*S\22\f\n\21\b\t\f"\23\f!\vZS\22\f\21\20\21\f\22\33\31\16\t\vJk\22\f\t\30\t\22\33\n\t\16\t\16\t\23Bk\22\f\t\30\t\22\33\f\t\17\31\23Bk\22\f\t\30\t\n#\24!\23Bk\22\f\t\30\t\n#\f\v\31\f\23:s\22\f\t\30\tcBs\22\f\t\30\t[Js\22\f\t\30\t["\f"s\22\f\t\30\t["\16"c"\f\t\30\t[\t\32\16"CB\f\t\30\t[\t\32\16"CB\f\t\30\t["\16"K:\f\t\30\t["\16"S2\f\t\30\t["\f"c"\f\t\30\t\n[Bs\22\f\t\30\t\n[Bs\22\f\t\30\t\n#\f\v\31\f\23:s\22\f\t\30\t\22\33\24!\23Bk\22\f\t\30\t\22\33\f\t\17\31\23Bk\22\f\t\20\t\f\32\33\t\16\t\16\t\23*\f\32c\22\f\t\20\t\f"\23\31\16\t\23*\f"[\22\21\20\t\22\v\22\23\f!\33"\f"S\22\f\21\b\21\n\33\f\v\n;\36\n\24"S\22\f\n\t\b\21#\t\f\x123\36\n\24*\34\n+\22\f\n\f\31#\31\f\n#\f\36\f\21\f2\21+\n\f\t\n\f\31\23\n\f\t\20\31\22\v\n\36\t\b\21\f*\21+\n\f\t\f\n\31\23\n\f\t\20!\f\22\24\r\t\b\31"\f\t\f\23\32\f\31\n\31\23\n\f\t \31$\t \t\24\22\24\n\23\32\21\b\t\n\31\23\21\x98\1!4\t !\23\21\x98\1Y !\23\21\xb0\198\21\23\21\xa0\2\21\23\21\xa0\2)\xa8\2)\xb0\2!\xb0\2!\xb0\2\31\xc0\2\t\xc8\2\t\xb8\2', ((255,0,255),(0,0,0),(255,212,20),(253,234,52),(200,148,5),(163,108,28),(189,0,24),(255,239,255)),0], ) def init_tiles(data): for image in data: if image[S_WIDTH]: image[S_DATA] = compress_rle_img_cols(image[S_BITS], uncompress_rle(image[S_DATA], image[S_BITS]), image[S_WIDTH], image[S_HEIGHT]) return tuple(data) textures = init_tiles(textures)