kosilka 1.15: buildin skin from leency

git-svn-id: svn://kolibrios.org@3132 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2012-12-22 21:53:23 +00:00
parent fdad5bfed3
commit a4be194a0f
4 changed files with 363 additions and 443 deletions

View File

@ -0,0 +1,325 @@
void decode_graphics(Byte * source, RGB * target){
static const RGB palette[] = {
0xB8A83D,0xB3A338,0xB7A73C,0xB5A53A,0xB2A237,0x005757,0x00AE00,0x009900,0xC98500,0x865900,
0xB57800,0xDDB100,0x0099FF,0x669433,0x5B8B28,0x86B84F,0x48761D,0x406D16,0x6FA13A,0x9EC764,
0x315C0F,0x234B04,0x3B6512,0x142B00,0x000000,0x153501,0x93C057,0x7AAA45,0x527E20,0x1C3E01,
0x2D5308,0x502404,0x071300,0x0D2300,0x0C4C08,0x743C14,0x7C441C,0x240C00,0x341400,0x582808,
0x3C1800,0x60300C,0x8C542C,0x683410,0x9C683C,0x2C1000,0x481C04,0x946034,0xBC9818,0x88580C,
0xA69946,0x998F51,0x948B51,0xA59949,0xADA043,0x858278,0x71717C,0x7A7A86,0x82828D,0x8A8A95,
0x7C7C88,0x757581,0x7F7D79,0x948B5D,0x696974,0x666670,0x7E7C76,0xAA9D4B,0x62626C,0x5B5B64,
0x6E6E79,0x5E5E68,0x727173,0x8E8969,0x575760,0x797777,0x53535B,0x9F944C,0x4C4C54,0xB3A442,
0x636264,0x47474E,0x605E5C,0x5F5D58,0xAC9D3D,0x726D4E,0x777152,0x7A7559,0x87836D,0x9C9357,
0x7E7B6A,0xAB9D41,0x8D865B,0x7E785C,0x585758,0x938A4E,0x998E42,0x948A41,0xC6B95D,0xCCBE61,
0xD9CA69,0xE2CD63,0xD5C562,0xC8BA5D,0xCABC59,0xC3B34E,0xCCBE59,0xD0C261,0xCEC15D,0xD0C264,
0xD5C764,0xE1CE58,0xDCC545,0xC5B853,0xCBBC54,0xD5C86C,0xDFD06D,0xDDCE6E,0xE9D35B,0xD2C66A,
0xCCBF66,0xDBCA5C,0xD2C465,0xD9CC6E,0xE5CD4D,0xD2C462,0xDDC234,0xD9CD73,0xE2D26B,0xEAD462,
0xE2D473,0xECD34C,0xD9CE7A,0xE1CE65,0xD6C862,0xEBCE35,0xD8CB6D,0xCCBF5E,0xECD453,0xECD03C,
0xE2D57C,0xE5D153,0xE9CF49,0xDCD17B,0xDDD483,0xEADA73,0xD9CC6B,0xE4C935,0xD4CA74,0xD2C671,
0xE9CF43,0xDEC843,0xE0D582,0xE3D884,0xEDD86C,0xF0D758,0xDCD072,0xE8CF3F,0xE4CC44,0xE3DA8B,
0xF1D753,0xD9BE32,0xD6C244,0xDECE69,0xD4BD3E,0xCEBB43,0xF0D341,0xECD862,0xECD244,0xDBCB64,
0xB8A22B,0xB59F30,0xCDC26B,0xD7CE80,0xE1CD53,0xD8C65F,0xD5C24C,0xD5CC7C,0xE5CB3C,0xC9B23C,
0xA49027,0xB8AB55,0xCDC370,0xE4D264,0xD8C454,0xD2C25A,0xE2C223,0xC2A51F,0xCEC578,0xE4D15D,
0xE0D78A,0xDDC84A,0xC6B034,0xAE9B34,0x837217,0xE6D87D,0xDBCA53,0xDCC64B,0xD1B934,0xC1B55D,
0xC8BD69,0xEBDE8A,0xE2DA92,0xE8DA7E,0xD4C251,0xCDC163,0xB39B26,0xDFD98F,0xF0E18D,0xF3DF7B,
0xF2DC6C,0xEBE08A,0xDCC33A,0xC8BC5D,0xBDAA38,0xC3B553,0xB5A338,0xC5B85A,0xE7E19F,0xF2DA5D,
0xEBCB2B,0xD2BD44,0xC9BB60,0xCABE65,0xEEDE84,0xF4E486,0xF3E178,0xD1B62E,0xBCA221,0xD1BE4D,
0xC6BA60,0xF1DA61,0xBFA82B,0xC9BD61,0xE2C734,0xCDBB4C,0xD0BE53,0xE9E096,0xC6B340,0x937F15,
0xD8CE82,0xE3DC9B,0xCAB22F,0xDAD28A,0xC2AC30,0xBDB05E,0xE1C42D,0xD0C77B,0xB8A84C,0xC1AF41,
0xC4B03B,0xC8BA59,0xDBC12F,0xCCB740,0xBFB357
};
for (int lc=0;lc<576;lc++)
target[lc] = palette[source[lc]];
}
Byte kosilka_gfx[]={
0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x01,
0x03, 0x00, 0x04, 0x02, 0x00, 0x01, 0x01, 0x04, 0x01, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x04,
0x00, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x02, 0x04, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x00,
0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x09, 0x07, 0x07, 0x05, 0x03, 0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03,
0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x00, 0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02,
0x00, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x04, 0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03,
0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01, 0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B,
0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01,
0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B,
0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B,
0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01,
0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B,
0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x04, 0x01, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02,
0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02, 0x03, 0x05, 0x06, 0x07, 0x07, 0x09, 0x09, 0x09,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x07, 0x07, 0x05, 0x02,
0x00, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x03, 0x01, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00,
0x04, 0x05, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x05, 0x02, 0x01, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x02,
0x04, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x03, 0x03, 0x05, 0x0C, 0x01, 0x0C, 0x03, 0x0C, 0x01,
0x0C, 0x01, 0x0C, 0x04, 0x0C, 0x01, 0x0C, 0x03, 0x0C, 0x02, 0x0C, 0x03, 0x0C, 0x03, 0x05, 0x04,
0x03, 0x05, 0x0C, 0x01, 0x0C, 0x03, 0x0C, 0x01, 0x0C, 0x01, 0x0C, 0x04, 0x0C, 0x01, 0x0C, 0x03,
0x0C, 0x02, 0x0C, 0x03, 0x0C, 0x03, 0x05, 0x04, 0x04, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x03,
0x01, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x02, 0x04, 0x05, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x05, 0x02,
0x01, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x03,
0x03, 0x05, 0x06, 0x07, 0x07, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
0x09, 0x09, 0x09, 0x09, 0x07, 0x07, 0x05, 0x02, 0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02,
0x01, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02, 0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B,
0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x04,
0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B,
0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01, 0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B,
0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03,
0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B,
0x0B, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01, 0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x01,
0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03, 0x00, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x04,
0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x02, 0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x00,
0x02, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x07, 0x05, 0x03, 0x03, 0x05, 0x06, 0x07, 0x07, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x07, 0x07, 0x05, 0x03,
0x04, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x00, 0x00, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x02,
0x01, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x04, 0x03, 0x04, 0x01, 0x04, 0x01, 0x00, 0x03, 0x04,
0x01, 0x02, 0x04, 0x03, 0x02, 0x03, 0x03, 0x00, 0x02, 0x02, 0x02, 0x03, 0x04, 0x00, 0x01, 0x00,
0x03, 0x04, 0x01, 0x04, 0x01, 0x00, 0x03, 0x04, 0x01, 0x02, 0x04, 0x03, 0x02, 0x03, 0x03, 0x00,
0x02, 0x02, 0x02, 0x03, 0x04, 0x00, 0x01, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x01,
0x0C, 0x0C, 0x0C, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x01, 0x01, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x05, 0x01,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x05, 0x02, 0x03, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x08,
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x05, 0x01,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x03, 0x01, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x01,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x01, 0x01, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x01,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x03, 0x04, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x03,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x00, 0x01, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x00,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x00, 0x03, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x01,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x03, 0x02, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A,
0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x00,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x09, 0x09,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x07, 0x06, 0x05, 0x02,
0x0C, 0x0C, 0x0C, 0x0C, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x05, 0x00, 0x03, 0x0C, 0x0C, 0x05, 0x05, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x05, 0x01,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x03, 0x01, 0x04, 0x03, 0x02, 0x02, 0x00, 0x03, 0x02, 0x02,
0x02, 0x04, 0x01, 0x03, 0x01, 0x01, 0x03, 0x04, 0x02, 0x00, 0x03, 0x03, 0x00, 0x02, 0x04, 0x04,
0x00, 0x01, 0x00, 0x04, 0x03, 0x02, 0x02, 0x02, 0x00, 0x03, 0x03, 0x02, 0x03, 0x04, 0x02, 0x01,
0x04, 0x03, 0x00, 0x01, 0x04, 0x01, 0x04, 0x03, 0x01, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x01, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x05, 0x05, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x01,
0x02, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x06, 0x07, 0x08, 0x08, 0x08, 0x08,
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x03,
0x03, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x01,
0x01, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x01,
0x03, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x04,
0x00, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x01,
0x00, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x03,
0x03, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A,
0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x0A, 0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x02,
0x04, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
0x0A, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x02, 0x05, 0x06, 0x07, 0x09, 0x09, 0x09, 0x09,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x03,
0x00, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x05, 0x0C, 0x0C, 0x0C, 0x0C, 0x01, 0x05, 0x05, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x05, 0x0C, 0x0C, 0x03,
0x01, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x03, 0x00, 0x02,
0x04, 0x03, 0x01, 0x01, 0x03, 0x01, 0x04, 0x02, 0x02, 0x02, 0x03, 0x00, 0x02, 0x02, 0x03, 0x04,
0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x01,
0x03, 0x00, 0x04, 0x02, 0x00, 0x01, 0x01, 0x04, 0x01, 0x03, 0x03, 0x04, 0x03, 0x03, 0x02, 0x01,
0x01, 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x02, 0x03, 0x01, 0x03, 0x01, 0x03, 0x04, 0x03, 0x04,
0x00, 0x01, 0x03, 0x04, 0x03, 0x03, 0x00, 0x00, 0x03, 0x01, 0x01, 0x03, 0x04, 0x01, 0x02, 0x00,
0x03, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x02, 0x04, 0x00, 0x03, 0x00, 0x04, 0x01, 0x00, 0x04,
0x02, 0x00, 0x01, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x03, 0x04, 0x02, 0x02, 0x00,
0x03, 0x03, 0x01, 0x02, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x03, 0x04, 0x02, 0x04, 0x01, 0x00,
0x00, 0x01, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x04, 0x03, 0x04, 0x02, 0x02, 0x03,
0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, 0x02, 0x01, 0x00, 0x03, 0x01, 0x03,
0x02, 0x00, 0x03, 0x01, 0x04, 0x04, 0x01, 0x00, 0x04, 0x04, 0x04, 0x03, 0x01, 0x02, 0x04, 0x00,
0x01, 0x01, 0x03, 0x01, 0x00, 0x03, 0x04, 0x00, 0x02, 0x04, 0x03, 0x01, 0x03, 0x04, 0x01, 0x01,
0x03, 0x04, 0x02, 0x02, 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x00, 0x01, 0x02, 0x03, 0x01, 0x02,
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x03, 0x04, 0x03, 0x01, 0x02, 0x01, 0x03, 0x01, 0x03,
0x01, 0x03, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x01, 0x04, 0x04, 0x01, 0x03, 0x01,
0x03, 0x01, 0x00, 0x03, 0x03, 0x01, 0x02, 0x04, 0x01, 0x04, 0x04, 0x00, 0x03, 0x02, 0x03, 0x03,
0x03, 0x01, 0x02, 0x04, 0x03, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x04, 0x01, 0x04, 0x00,
0x01, 0x03, 0x01, 0x01, 0x04, 0x02, 0x02, 0x01, 0x02, 0x01, 0x00, 0x03, 0x01, 0x04, 0x04, 0x01,
0x03, 0x03, 0x01, 0x02, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01,
0x03, 0x04, 0x02, 0x02, 0x03, 0x01, 0x01, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, 0x02,
0x01, 0x00, 0x03, 0x01, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x03, 0x00, 0x03, 0x02, 0x03,
0x02, 0x04, 0x04, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x00, 0x02, 0x04, 0x01, 0x02, 0x00, 0x01,
0x02, 0x03, 0x00, 0x04, 0x04, 0x04, 0x03, 0x03, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02,
0x04, 0x01, 0x02, 0x00, 0x03, 0x03, 0x04, 0x04, 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x02, 0x00,
0x04, 0x03, 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x01, 0x04, 0x03, 0x01, 0x03, 0x01, 0x03, 0x02,
0x04, 0x04, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x04, 0x04, 0x00, 0x02, 0x01, 0x01, 0x03, 0x00,
0x01, 0x04, 0x02, 0x03, 0x03, 0x04, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x00, 0x03, 0x01,
0x04, 0x01, 0x04, 0x03, 0x03, 0x01, 0x04, 0x03, 0x01, 0x00, 0x04, 0x01, 0x04, 0x01, 0x00, 0x02,
0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x04, 0x01, 0x04,
0x03, 0x03, 0x03, 0x01, 0x00, 0x03, 0x01, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x03, 0x01, 0x02,
0x04, 0x00, 0x03, 0x03, 0x01, 0x03, 0x03, 0x03, 0x03, 0x00, 0x02, 0x02, 0x01, 0x04, 0x00, 0x00,
0x04, 0x00, 0x03, 0x03, 0x00, 0x02, 0x04, 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x02, 0x02, 0x03,
0x03, 0x00, 0x04, 0x03, 0x02, 0x03, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01, 0x04, 0x01, 0x01, 0x02,
0x02, 0x03, 0x01, 0x03, 0x04, 0x04, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x04, 0x04, 0x00, 0x02,
0x04, 0x04, 0x03, 0x00, 0x01, 0x03, 0x01, 0x04, 0x04, 0x04, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03,
0x00, 0x03, 0x01, 0x01, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, 0x04, 0x01, 0x02, 0x03, 0x02, 0x01,
0x03, 0x01, 0x03, 0x04, 0x00, 0x01, 0x03, 0x03, 0x00, 0x02, 0x01, 0x03, 0x03, 0x03, 0x03, 0x04,
0x00, 0x01, 0x01, 0x01, 0x02, 0x0D, 0x0E, 0x01, 0x01, 0x01, 0x03, 0x0D, 0x0F, 0x00, 0x00, 0x01,
0x03, 0x00, 0x04, 0x02, 0x00, 0x01, 0x01, 0x04, 0x01, 0x03, 0x03, 0x04, 0x10, 0x11, 0x12, 0x12,
0x01, 0x03, 0x0D, 0x13, 0x14, 0x15, 0x03, 0x02, 0x03, 0x01, 0x03, 0x01, 0x03, 0x04, 0x03, 0x04,
0x00, 0x01, 0x03, 0x16, 0x17, 0x18, 0x19, 0x12, 0x0E, 0x10, 0x1A, 0x12, 0x15, 0x1B, 0x0F, 0x0F,
0x03, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x02, 0x04, 0x00, 0x03, 0x17, 0x12, 0x12, 0x15, 0x11,
0x12, 0x19, 0x1A, 0x1C, 0x0D, 0x1C, 0x1D, 0x1C, 0x1B, 0x03, 0x01, 0x03, 0x04, 0x02, 0x02, 0x00,
0x03, 0x03, 0x17, 0x10, 0x1D, 0x19, 0x11, 0x12, 0x19, 0x1D, 0x12, 0x1E, 0x1C, 0x1B, 0x1B, 0x1A,
0x13, 0x01, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x16, 0x17, 0x15, 0x15, 0x14, 0x16,
0x12, 0x15, 0x1D, 0x0F, 0x0F, 0x10, 0x16, 0x19, 0x1C, 0x13, 0x02, 0x01, 0x00, 0x03, 0x01, 0x03,
0x02, 0x00, 0x17, 0x16, 0x12, 0x0D, 0x12, 0x1E, 0x12, 0x1E, 0x0F, 0x10, 0x0F, 0x0F, 0x17, 0x0F,
0x10, 0x01, 0x03, 0x01, 0x00, 0x03, 0x04, 0x00, 0x02, 0x04, 0x14, 0x12, 0x10, 0x10, 0x10, 0x12,
0x11, 0x12, 0x10, 0x15, 0x15, 0x0F, 0x15, 0x17, 0x0F, 0x1A, 0x00, 0x01, 0x02, 0x03, 0x01, 0x02,
0x00, 0x16, 0x14, 0x16, 0x1D, 0x1D, 0x1D, 0x1C, 0x15, 0x0F, 0x10, 0x10, 0x1F, 0x16, 0x17, 0x17,
0x1D, 0x1B, 0x0F, 0x01, 0x01, 0x02, 0x03, 0x04, 0x03, 0x14, 0x20, 0x21, 0x21, 0x10, 0x11, 0x12,
0x12, 0x1D, 0x15, 0x15, 0x0F, 0x0F, 0x0F, 0x1E, 0x17, 0x1C, 0x1B, 0x00, 0x03, 0x02, 0x03, 0x03,
0x03, 0x17, 0x17, 0x10, 0x0E, 0x0E, 0x15, 0x1E, 0x1B, 0x1B, 0x15, 0x12, 0x0F, 0x15, 0x0D, 0x0D,
0x0F, 0x0F, 0x01, 0x01, 0x04, 0x02, 0x02, 0x01, 0x02, 0x17, 0x10, 0x15, 0x16, 0x15, 0x15, 0x1B,
0x1C, 0x15, 0x15, 0x0F, 0x10, 0x0F, 0x11, 0x14, 0x0E, 0x0D, 0x0F, 0x01, 0x03, 0x01, 0x01, 0x01,
0x03, 0x10, 0x20, 0x10, 0x19, 0x19, 0x0D, 0x14, 0x15, 0x1F, 0x15, 0x1F, 0x15, 0x1B, 0x0E, 0x17,
0x1E, 0x21, 0x15, 0x1B, 0x03, 0x03, 0x03, 0x03, 0x04, 0x11, 0x17, 0x10, 0x00, 0x03, 0x10, 0x15,
0x02, 0x22, 0x23, 0x24, 0x15, 0x12, 0x00, 0x19, 0x02, 0x00, 0x15, 0x0D, 0x01, 0x02, 0x00, 0x01,
0x02, 0x10, 0x00, 0x04, 0x04, 0x04, 0x03, 0x15, 0x01, 0x25, 0x26, 0x27, 0x01, 0x0D, 0x02, 0x02,
0x04, 0x01, 0x02, 0x0E, 0x03, 0x03, 0x04, 0x04, 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x02, 0x00,
0x04, 0x28, 0x29, 0x2A, 0x01, 0x0D, 0x01, 0x03, 0x01, 0x04, 0x03, 0x01, 0x03, 0x01, 0x03, 0x02,
0x04, 0x04, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x04, 0x26, 0x2B, 0x2C, 0x01, 0x01, 0x03, 0x00,
0x01, 0x04, 0x02, 0x03, 0x03, 0x04, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x00, 0x03, 0x01,
0x04, 0x25, 0x1F, 0x29, 0x03, 0x01, 0x04, 0x03, 0x01, 0x00, 0x04, 0x01, 0x04, 0x01, 0x00, 0x02,
0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x2D, 0x23, 0x2A, 0x01, 0x04, 0x01, 0x04,
0x03, 0x03, 0x03, 0x01, 0x00, 0x03, 0x01, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x03, 0x01, 0x02,
0x04, 0x2B, 0x25, 0x2E, 0x01, 0x03, 0x03, 0x03, 0x03, 0x00, 0x02, 0x02, 0x01, 0x04, 0x00, 0x00,
0x04, 0x00, 0x03, 0x03, 0x00, 0x02, 0x04, 0x00, 0x02, 0x2B, 0x28, 0x2B, 0x2F, 0x02, 0x02, 0x03,
0x03, 0x00, 0x04, 0x03, 0x02, 0x03, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01, 0x04, 0x01, 0x01, 0x02,
0x02, 0x2B, 0x2D, 0x29, 0x2F, 0x04, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x04, 0x04, 0x00, 0x02,
0x04, 0x04, 0x03, 0x00, 0x01, 0x03, 0x01, 0x04, 0x04, 0x2B, 0x26, 0x1F, 0x2B, 0x30, 0x02, 0x03,
0x00, 0x03, 0x01, 0x01, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, 0x04, 0x01, 0x02, 0x03, 0x02, 0x01,
0x2B, 0x2B, 0x26, 0x26, 0x2B, 0x2C, 0x31, 0x03, 0x00, 0x02, 0x01, 0x03, 0x03, 0x03, 0x03, 0x04,
0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x32, 0x33, 0x34, 0x35, 0x03, 0x00, 0x00, 0x00, 0x01,
0x03, 0x00, 0x04, 0x02, 0x00, 0x01, 0x01, 0x04, 0x01, 0x03, 0x03, 0x36, 0x37, 0x38, 0x39, 0x3A,
0x3B, 0x3C, 0x3C, 0x3D, 0x39, 0x3D, 0x3D, 0x3E, 0x3F, 0x01, 0x03, 0x01, 0x03, 0x04, 0x03, 0x04,
0x00, 0x01, 0x03, 0x3A, 0x40, 0x41, 0x38, 0x3D, 0x3A, 0x38, 0x3D, 0x40, 0x40, 0x40, 0x40, 0x3C,
0x3D, 0x42, 0x43, 0x02, 0x03, 0x03, 0x03, 0x02, 0x04, 0x00, 0x03, 0x3D, 0x44, 0x41, 0x40, 0x41,
0x44, 0x45, 0x40, 0x44, 0x46, 0x44, 0x47, 0x47, 0x47, 0x40, 0x46, 0x43, 0x04, 0x02, 0x02, 0x00,
0x03, 0x03, 0x36, 0x46, 0x44, 0x40, 0x44, 0x41, 0x41, 0x44, 0x40, 0x47, 0x47, 0x47, 0x47, 0x45,
0x44, 0x46, 0x41, 0x48, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x49, 0x41, 0x44, 0x40, 0x45, 0x44,
0x47, 0x47, 0x41, 0x41, 0x41, 0x45, 0x47, 0x4A, 0x45, 0x40, 0x41, 0x41, 0x46, 0x03, 0x01, 0x03,
0x02, 0x00, 0x3E, 0x44, 0x44, 0x44, 0x45, 0x41, 0x47, 0x45, 0x41, 0x44, 0x41, 0x47, 0x45, 0x45,
0x4A, 0x44, 0x47, 0x4A, 0x45, 0x03, 0x04, 0x00, 0x02, 0x04, 0x4B, 0x44, 0x44, 0x47, 0x47, 0x40,
0x40, 0x44, 0x44, 0x45, 0x4A, 0x45, 0x45, 0x45, 0x47, 0x45, 0x4C, 0x4C, 0x4C, 0x4D, 0x01, 0x02,
0x00, 0x00, 0x38, 0x47, 0x47, 0x4A, 0x4A, 0x47, 0x44, 0x47, 0x44, 0x47, 0x47, 0x47, 0x47, 0x47,
0x47, 0x45, 0x4E, 0x4E, 0x4E, 0x47, 0x32, 0x04, 0x03, 0x4F, 0x46, 0x47, 0x47, 0x4A, 0x4A, 0x4C,
0x4A, 0x4C, 0x4A, 0x45, 0x4A, 0x4A, 0x47, 0x4C, 0x4A, 0x4E, 0x4E, 0x4E, 0x4E, 0x4C, 0x50, 0x03,
0x03, 0x32, 0x41, 0x45, 0x4A, 0x4E, 0x4C, 0x4E, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A,
0x4A, 0x4E, 0x51, 0x4E, 0x4E, 0x4E, 0x52, 0x01, 0x02, 0x3F, 0x44, 0x47, 0x4C, 0x4C, 0x4A, 0x4C,
0x4A, 0x4C, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x45, 0x4A, 0x4C, 0x4E, 0x4E, 0x51, 0x53, 0x01,
0x03, 0x3D, 0x47, 0x44, 0x4A, 0x45, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4E, 0x4C, 0x4A, 0x4A,
0x4A, 0x4A, 0x4C, 0x4A, 0x4E, 0x4E, 0x4C, 0x03, 0x04, 0x38, 0x47, 0x44, 0x4A, 0x45, 0x4A, 0x45,
0x45, 0x4A, 0x44, 0x47, 0x47, 0x47, 0x45, 0x47, 0x4A, 0x45, 0x4C, 0x4C, 0x4E, 0x4E, 0x4C, 0x54,
0x02, 0x38, 0x44, 0x45, 0x47, 0x45, 0x47, 0x47, 0x47, 0x47, 0x47, 0x45, 0x45, 0x47, 0x47, 0x44,
0x45, 0x45, 0x4A, 0x4C, 0x4E, 0x51, 0x55, 0x04, 0x01, 0x38, 0x44, 0x47, 0x45, 0x45, 0x45, 0x47,
0x47, 0x45, 0x47, 0x47, 0x47, 0x47, 0x47, 0x45, 0x45, 0x45, 0x45, 0x4C, 0x4E, 0x4E, 0x56, 0x02,
0x04, 0x38, 0x44, 0x47, 0x47, 0x47, 0x4A, 0x45, 0x45, 0x47, 0x47, 0x47, 0x47, 0x47, 0x45, 0x47,
0x45, 0x4A, 0x4C, 0x4E, 0x4E, 0x4C, 0x57, 0x02, 0x03, 0x58, 0x40, 0x47, 0x47, 0x47, 0x45, 0x45,
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x47, 0x4A, 0x4A, 0x4C, 0x4C, 0x4C, 0x47, 0x32, 0x02,
0x00, 0x03, 0x59, 0x41, 0x47, 0x45, 0x4A, 0x4A, 0x45, 0x45, 0x47, 0x4A, 0x45, 0x45, 0x45, 0x4A,
0x4A, 0x4C, 0x4C, 0x4E, 0x4A, 0x03, 0x01, 0x03, 0x01, 0x00, 0x00, 0x42, 0x41, 0x41, 0x45, 0x47,
0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x4A, 0x4A, 0x4C, 0x4E, 0x4C, 0x4C, 0x34, 0x04, 0x00, 0x00,
0x04, 0x00, 0x03, 0x03, 0x36, 0x5A, 0x47, 0x45, 0x4A, 0x47, 0x45, 0x4A, 0x4A, 0x4C, 0x4A, 0x4E,
0x4C, 0x4C, 0x4C, 0x47, 0x02, 0x03, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01, 0x04, 0x5B, 0x46, 0x47,
0x45, 0x45, 0x45, 0x47, 0x47, 0x4A, 0x4A, 0x4E, 0x4E, 0x4E, 0x4A, 0x5C, 0x04, 0x04, 0x00, 0x02,
0x04, 0x04, 0x03, 0x00, 0x01, 0x03, 0x01, 0x04, 0x5D, 0x47, 0x4A, 0x4C, 0x4C, 0x4E, 0x4C, 0x4E,
0x4E, 0x5E, 0x5F, 0x01, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, 0x04, 0x01, 0x02, 0x03, 0x02, 0x01,
0x03, 0x54, 0x54, 0x60, 0x60, 0x61, 0x61, 0x61, 0x5B, 0x02, 0x01, 0x03, 0x03, 0x03, 0x03, 0x04,
0x62, 0x63, 0x64, 0x65, 0x66, 0x63, 0x67, 0x68, 0x69, 0x6A, 0x6A, 0x6B, 0x6B, 0x6C, 0x6D, 0x6E,
0x6F, 0x6C, 0x70, 0x71, 0x71, 0x69, 0x71, 0x72, 0x73, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
0x79, 0x6C, 0x6B, 0x7A, 0x6D, 0x7A, 0x7B, 0x77, 0x7C, 0x7D, 0x7E, 0x7A, 0x71, 0x69, 0x71, 0x6C,
0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x7F, 0x7B, 0x7B, 0x7B, 0x7B, 0x7B, 0x86, 0x6F, 0x7C,
0x87, 0x64, 0x73, 0x88, 0x77, 0x89, 0x68, 0x86, 0x76, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x8C,
0x90, 0x91, 0x8F, 0x7F, 0x7B, 0x92, 0x7B, 0x88, 0x93, 0x7F, 0x94, 0x95, 0x73, 0x89, 0x73, 0x6E,
0x96, 0x96, 0x97, 0x70, 0x90, 0x82, 0x98, 0x99, 0x9A, 0x9B, 0x8A, 0x8B, 0x84, 0x9C, 0x9C, 0x9D,
0x9E, 0x94, 0x94, 0x94, 0x94, 0x77, 0x73, 0x86, 0x93, 0x7E, 0x84, 0x90, 0x90, 0x98, 0x91, 0x9F,
0xA0, 0x87, 0x93, 0xA1, 0xA2, 0x88, 0x7F, 0xA3, 0x84, 0x9E, 0x92, 0x95, 0x73, 0x73, 0x7A, 0x86,
0x70, 0xA4, 0xA5, 0x84, 0x90, 0x76, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0x84, 0x94, 0x7B,
0x9C, 0x80, 0x80, 0xAD, 0xAE, 0x6E, 0x6B, 0xAF, 0xB0, 0x73, 0x94, 0xB1, 0x8D, 0x90, 0x8B, 0xB2,
0xB3, 0xB4, 0xB5, 0xB6, 0x94, 0x94, 0x7B, 0x8D, 0x83, 0x76, 0xB7, 0x82, 0x8D, 0x79, 0xB8, 0xB9,
0x7D, 0x6E, 0x94, 0x84, 0xA3, 0x80, 0xBA, 0xBB, 0xB6, 0xBC, 0xB1, 0xB6, 0x95, 0x7F, 0x85, 0xBD,
0x83, 0xAE, 0xBE, 0x98, 0xA8, 0x79, 0x6C, 0x6C, 0xB2, 0xBF, 0x77, 0x88, 0xAE, 0x84, 0xC0, 0xC1,
0xC2, 0xAD, 0xB1, 0x95, 0x84, 0x90, 0x98, 0xC3, 0xBD, 0xC3, 0xA7, 0x8A, 0xB2, 0xC4, 0x6A, 0xB9,
0x97, 0xC5, 0x70, 0x95, 0xC6, 0x6B, 0x71, 0xC7, 0xB6, 0xC8, 0x94, 0xAD, 0x98, 0xC9, 0xCA, 0xC9,
0xCB, 0x8C, 0xBE, 0x98, 0x9E, 0xAF, 0x6A, 0x97, 0xCC, 0xB9, 0x6D, 0xCD, 0xAC, 0xCE, 0x62, 0xB6,
0xAC, 0x94, 0xAD, 0xCF, 0xD0, 0xD1, 0xD2, 0xA0, 0xD3, 0x9F, 0x99, 0x96, 0xAE, 0x64, 0x6A, 0x72,
0xD4, 0xA4, 0xCD, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0x6A, 0xB1, 0x9F, 0xDA, 0xD1, 0xDB, 0xA6, 0xDC,
0x7C, 0x99, 0x99, 0x82, 0x74, 0xC4, 0x72, 0x72, 0xDD, 0x6A, 0x68, 0x67, 0xDE, 0x69, 0xDF, 0x78,
0x94, 0x90, 0xE0, 0xE1, 0xD2, 0xE2, 0xE3, 0xE4, 0xA3, 0xCA, 0xBE, 0x8C, 0xB7, 0x6F, 0xE5, 0x72,
0xE5, 0xA5, 0xD9, 0x71, 0xD9, 0xD9, 0xE6, 0xB6, 0x84, 0xCA, 0xD2, 0xE7, 0x96, 0xE8, 0x72, 0x92,
0x9C, 0xBE, 0x8C, 0x8D, 0x9E, 0xBF, 0xB0, 0xA2, 0x68, 0x67, 0x67, 0x62, 0x67, 0xE9, 0xE9, 0x94,
0x8C, 0xD3, 0xA6, 0xBA, 0xC3, 0x82, 0x9F, 0x6D, 0xAD, 0x90, 0x65, 0x8D, 0xEA, 0xD4, 0xEB, 0xEC,
0xB9, 0xCD, 0xDF, 0x78, 0xDF, 0x6D, 0xAC, 0xB1, 0x9A, 0xED, 0x9E, 0xEE, 0xEF, 0x82, 0x6B, 0xC7,
0x84, 0xCF, 0x8C, 0x83, 0xD4, 0xB8, 0xEC, 0x6A, 0xAF, 0x77, 0x95, 0x85, 0xB7, 0x73, 0xBD, 0x90,
0xA8, 0x91, 0xA3, 0xAF, 0xB7, 0xF0, 0xF1, 0xDA, 0x98, 0x8C, 0x8C, 0x82, 0xC5, 0xB8, 0xB9, 0x6D,
0x88, 0x74, 0x9C, 0x80, 0xB7, 0xA7, 0x8F, 0x98, 0xCA, 0xF2, 0x80, 0xD3, 0xB8, 0xF3, 0xF3, 0xF3,
0xAD, 0x90, 0x82, 0x8C, 0xA9, 0x64, 0x79, 0x86, 0xBD, 0xB7, 0x83, 0x80, 0x80, 0x8D, 0x82, 0x8C,
0xA2, 0x75, 0xF4, 0xA9, 0xEB, 0xF0, 0x8F, 0xF5, 0x9F, 0xCB, 0x8C, 0x8F, 0x86, 0x6E, 0xAE, 0x6F,
0x64, 0x6F, 0x6F, 0xF6, 0x6F, 0x79, 0xA3, 0xBD, 0x83, 0x6E, 0x99, 0xBE, 0x95, 0xB1, 0xF7, 0xB7,
0x91, 0xCB, 0xA6, 0x93, 0xEB, 0x7A, 0xCC, 0xB2, 0xB9, 0xB0, 0x7B, 0xEC, 0xB9, 0xC4, 0xAD, 0x84,
0xDD, 0xE5, 0x73, 0x78, 0xF8, 0xB5, 0xDF, 0xCA, 0x8A, 0xA8, 0xD4, 0xC0, 0xF9, 0x6D, 0xEC, 0x6C,
0x67, 0xD7, 0xFA, 0xF6, 0x69, 0xB9, 0xAC, 0xAC, 0xFB, 0xFB, 0x62, 0xE6, 0x95, 0x69, 0x69, 0xBF,
0xFC, 0xDD, 0xA5, 0xF9, 0x62, 0xD5, 0x69, 0xD9, 0xD9, 0x69, 0xFB, 0x69, 0x72, 0xDE, 0xE9, 0xE9,
0xD5, 0x03, 0xD9, 0x54, 0x6B, 0x78, 0xB9, 0xCC, 0xFA, 0xFD, 0xEE, 0xF9, 0xFE, 0xD7, 0x69, 0xD7
};

View File

@ -760,7 +760,7 @@ void kos_DisplayNumberToWindow(
} }
Dword kos_GetSkinWidth() Dword kos_GetSkinHeight()
{ {
__asm{ __asm{
mov eax, 48 mov eax, 48

View File

@ -199,7 +199,7 @@ void __declspec(noinline) kos_DisplayNumberToWindow(
bool valueIsPointer = false bool valueIsPointer = false
); );
// функция 48.4 получить высоту скина // функция 48.4 получить высоту скина
Dword kos_GetSkinWidth(); Dword kos_GetSkinHeight();
// функция 58 доступ к файловой системе // функция 58 доступ к файловой системе
Dword __fastcall kos_FileSystemAccess( kosFileInfo *fileInfo ); Dword __fastcall kos_FileSystemAccess( kosFileInfo *fileInfo );
// функция 63 // функция 63

View File

@ -1,14 +1,15 @@
/* ------- ÊÎÑÈËÊÀ ÄËß ÊÎËÈÁÐÈ ------- /* ------- ÊÎÑÈËÊÀ ÄËß ÊÎËÈÁÐÈ -------
Èãðà ïèøåòñÿ íà C++ (èñïîëüçóåòñÿ MS Visual C++ 6.0). Èãðà ïèøåòñÿ íà C++ (èñïîëüçóåòñÿ MS Visual C++ 6.0+).
Ýòî - èñõîäíèê âåðñèè 1.0. Ýòî - èñõîäíèê âåðñèè 1.15.
Andrey Mihaylovich aka Dron2004 Andrey Mihaylovich aka Dron2004
*/ */
#include "kosSyst.h" #include "kosSyst.h"
#include "kosFile.h" #include "kosFile.h"
#include "images.cpp"
@ -21,12 +22,7 @@ Byte external_levels_count[1] = {0};
///////////////// /////////////////
int lastkosilkadirection=1; int lastkosilkadirection=1;
int laststep=0; //Ïîñëåäíèé õîä. Çäåñü int laststep=0; //Ïîñëåäíèé õîä. 0-íåáûëî, 1-âíèç, 2-ââåðõ, 3-âëåâî, 4-âïðàâî
// 0 - íåò òàêîâîãî
// 1 - âíèç
// 2 - ââåðõ
// 3 - âëåâî
// 4 - âïðàâî
Byte skindata[13824]; Byte skindata[13824];
@ -35,7 +31,7 @@ bool skin_available=false;
bool w_redraw=true; bool w_redraw=true;
const char windowTitle[]="Š®á¨«ª  ¤«ï Š®«¨¡à¨"; const char windowTitle[]="Š®á¨«ª  ¤«ï Š®«¨¡à¨";
const char version[]="‚¥àá¨ï 1.12"; const char version[]="‚¥àá¨ï 1.15";
int levelcount=7; //×èñëî óðîâíåé int levelcount=7; //×èñëî óðîâíåé
char gamearea[20][20]; //Êàðòà char gamearea[20][20]; //Êàðòà
@ -56,11 +52,8 @@ bool gamestarted=false; //
bool drawgraphics=true; //Ðèñîâàòü ëè äåòàëüíóþ ãðàôèêó (èëè îãðàíè÷èòüñÿ àñêåòè÷íîé) bool drawgraphics=true; //Ðèñîâàòü ëè äåòàëüíóþ ãðàôèêó (èëè îãðàíè÷èòüñÿ àñêåòè÷íîé)
bool drawanimation=true; //Àíèìèðîâàòü ëè bool drawanimation=true; //Àíèìèðîâàòü ëè
bool skinned=false;
int grassLeft(); //Ñîîáùèì î íàëè÷èè ôóíêöèè Grass Left int grassLeft(); //Ñîîáùèì î íàëè÷èè ôóíêöèè Grass Left
//Ãðàôèêà èãðû
RGB kosilka_d[576]; RGB kosilka_d[576];
RGB kosilka_l[576]; RGB kosilka_l[576];
RGB kosilka_r[576]; RGB kosilka_r[576];
@ -70,232 +63,10 @@ RGB stone[576];
RGB tree[576]; RGB tree[576];
RGB skos[576]; RGB skos[576];
Byte kosilka_d1[]={0,1,2,3,4,5,5,6,6,6,5,5,5,5,5,6,5,5,5,4,2,2,1,7,1,2,4,6,21
,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,6,5,2,40,1,4,62,63,63,64,65,66,66
,67,66,66,66,66,68,66,66,63,69,65,65,62,4,1,2,6,75,91,64,65,67,92,75,75,75,75,75
,75,75,75,75,93,65,94,94,62,6,2,3,6,76,94,96,67,103,104,104,104,104,104,104,105
,106,107,108,109,93,63,64,75,6,3,3,21,75,94,94,67,115,104,104,104,104,105,105
,106,107,108,116,117,92,65,96,76,21,4,3,21,62,64,63,78,115,105,105,105,105,106
,107,108,116,116,119,120,92,65,96,77,6,3,4,6,62,96,69,67,123,106,106,107,107,108
,108,116,119,119,127,124,92,66,64,77,21,4,3,21,62,64,91,67,123,107,108,108,116
,116,119,119,127,127,127,124,75,69,64,77,21,4,4,6,62,64,69,68,123,108,116,119
,119,127,127,127,129,129,129,125,93,63,64,77,21,4,4,21,62,64,91,67,123,119,119
,127,127,129,129,129,129,129,129,125,68,94,64,77,6,4,3,21,62,64,94,63,122,128
,128,121,121,121,121,121,121,121,121,76,66,69,91,77,21,4,4,21,62,64,94,69,69,65
,66,67,68,68,67,68,67,67,66,66,69,91,64,77,21,4,4,21,76,96,64,94,94,64,94,96,69
,91,94,94,64,69,69,94,64,64,64,77,6,4,3,6,75,64,64,64,64,64,64,64,64,64,64,64,64
,64,64,64,64,64,96,75,21,4,3,6,16,94,64,64,64,64,64,64,64,64,64,64,64,64,64,64
,64,64,96,75,6,2,2,6,75,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,62
,6,2,1,2,33,95,111,111,111,111,79,79,79,79,79,79,79,79,111,95,79,111,95,33,32,40
,7,42,49,44,47,72,44,47,80,49,45,72,45,70,47,47,47,46,71,45,44,49,50,15,15,43,45
,72,70,71,44,71,43,44,44,46,47,71,49,71,45,47,45,47,80,80,110,0,15,45,45,45,44
,44,72,72,70,45,44,71,46,71,80,44,45,47,44,71,72,71,45,9,14,45,47,72,46,73,45,47
,72,46,45,47,45,70,43,45,45,46,47,44,43,43,42,10,8,32,42,45,46,44,43,44,44,47,45
,45,49,44,46,46,45,44,45,44,45,42,41,9,10,114,36,36,12,10,12,14,9,11,10,36,13,11
,10,9,13,12,11,9,10,8,8,8
};
Byte kosilka_u1[]={8,9,9,10,9,11,12,13,9,10,11,13,8,10,11,9,14,12,10,12,14,8,11
,10,9,41,42,43,44,45,44,45,46,46,44,45,45,45,47,44,44,43,44,46,45,42,32,0,14,42
,45,43,44,47,46,45,45,43,70,45,71,45,46,72,47,45,73,46,44,71,45,14,11,45,71,72
,71,44,47,45,44,80,71,46,71,44,45,70,72,72,44,44,45,45,45,15,0,110,80,80,71,45
,47,45,71,49,71,47,46,44,44,43,71,44,71,70,72,43,71,15,15,50,49,44,45,71,46,47
,47,71,70,45,72,45,49,80,47,44,72,47,44,45,50,15,1,32,121,95,111,79,95,111,79,79
,79,79,79,79,79,79,111,111,111,111,95,121,3,1,2,5,62,96,64,64,64,64,64,64,64,64
,64,64,64,64,64,64,64,96,96,75,5,2,2,6,75,94,64,64,64,64,64,64,64,64,64,64,64,64
,64,64,64,64,96,76,6,3,4,21,75,96,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64
,64,94,76,6,3,4,21,77,64,64,64,94,69,69,64,94,94,91,69,64,94,64,94,94,64,64,16
,21,4,4,6,77,64,91,69,66,66,66,67,67,67,68,68,67,66,65,69,69,94,64,77,21,4
,4,21,77,64,69,66,76,121,121,121,121,121,121,121,121,128,128,122,63,94,64,62,21
,3,4,6,77,64,94,67,125,129,129,129,129,129,129,127,127,119,119,123,66,91,64,62
,21,4,4,21,77,64,63,92,125,129,129,129,127,127,127,119,119,116,108,123,68,69,64
,62,6,4,4,21,77,64,63,92,124,127,127,127,119,119,116,108,108,108,108,123,68,91
,64,62,21,3,4,21,77,91,66,92,124,127,119,119,116,108,108,107,107,106,106,123,67
,69,64,62,21,3,3,21,77,64,65,92,120,119,116,116,108,107,106,105,105,105,105,115
,93,63,64,62,6,3,4,21,75,64,65,92,117,116,108,107,106,105,105,105,104,104,104
,115,67,94,96,76,21,3,3,6,75,96,63,93,109,108,107,106,105,104,104,104,104,104
,104,136,67,96,94,76,6,3,2,6,62,94,94,65,93,75,75,75,75,75,75,75,92,75,93,67,65
,64,64,75,6,2,1,4,62,65,65,69,63,65,66,67,66,66,65,65,67,66,66,65,64,63,65,62,4
,1,1,2,6,6,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,6,4,2,1,7,1,2,2,4,5
,5,6,6,5,5,5,6,6,6,6,6,5,6,3,4,2,1,0
};
Byte kosilka_l1[]={10,8,14,15,15,15,1,2,3,2,4,4,3,3,4,3,3,3,3,3,2,1,1,0,11,48,49
,45,47,50,3,6,6,6,21,21,21,21,6,21,21,6,21,6,5,4,2,1,29,42,71,45,74,49,33,75,76
,76,76,62,62,62,62,62,62,62,76,76,75,62,4,2,14,70,72,45,72,44,95,96,94,94,94,96
,64,64,64,64,64,96,94,94,94,66,6,3,12,46,46,44,70,47,111,64,96,96,64,94,94,91,69
,91,69,63,94,96,64,63,21,4,10,44,73,44,71,72,111,64,64,64,94,69,63,66,68,67,67
,68,67,67,65,64,21,5,12,43,45,72,44,44,111,64,64,64,94,69,122,123,123,123,123
,115,115,103,67,63,21,6,14,44,47,72,71,47,111,64,64,64,64,65,128,119,116,107,106
,105,104,104,93,66,21,6,9,44,72,70,43,80,79,64,64,64,94,66,128,119,116,108,106
,105,104,104,75,66,21,6,11,47,46,45,44,49,79,64,64,64,64,67,121,127,116,108,107
,105,104,104,92,67,21,6,10,45,45,44,44,45,79,64,64,64,69,68,121,127,119,116,107
,106,104,104,75,66,21,6,8,49,47,71,46,72,79,64,64,64,91,68,121,129,127,116,108
,106,105,104,75,66,21,6,13,45,45,46,47,45,79,64,64,64,94,67,121,129,127,119,108
,107,105,104,75,66,21,4,11,44,70,71,71,70,79,64,64,64,94,67,121,129,127,119,116
,108,106,105,75,66,21,5,10,46,43,80,49,47,79,64,64,64,64,67,121,129,129,127,119
,108,107,106,75,67,21,4,9,46,45,44,71,47,79,64,64,64,69,67,121,129,129,127,119
,116,108,107,75,66,21,6,13,45,45,45,45,47,111,64,64,64,69,66,121,129,129,127,127
,119,116,108,75,66,21,6,12,44,46,47,47,46,95,64,64,64,94,66,76,125,125,124,124
,120,117,109,93,63,21,4,11,45,47,44,45,71,79,64,64,64,64,69,66,68,92,75,92,92,92
,93,65,69,21,6,9,44,44,71,47,45,111,64,64,64,64,91,69,94,63,69,66,65,65,63,94,65
,21,4,10,47,43,72,80,44,95,64,64,64,64,64,64,64,64,64,64,64,64,64,64,63,6,2,9,42
,45,47,80,45,121,62,75,75,77,77,77,77,77,77,77,77,75,75,62,75,5,2,0,48,42,45,71
,50,2,6,6,21,6,21,21,6,21,21,21,21,21,6,6,4,2,40,8,11,51,9,8,15,1,2,2,4,4,3,4,4
,4,4,4,3,3,3,2,1,1,7
};
Byte kosilka_r1[]={7,1,1,2,3,3,3,4,4,4,4,4,4,4,4,2,2,1,15,0,9,12,9,8,40,2,4,6,6
,21,21,21,21,21,6,21,21,6,4,1,15,51,52,53,47,45,23,9,2,6,62,62,75,75,77,77,77,77
,77,77,77,77,77,77,78,79,45,80,47,71,42,9,2,6,65,94,94,94,96,64,64,64,64,64,64
,96,64,64,64,95,44,72,44,43,45,10,4,21,65,94,63,65,65,66,69,63,94,69,91,64,64,64
,64,79,43,47,71,44,72,9,5,21,69,65,93,92,92,92,92,92,67,66,69,64,64,64,64,79,71
,45,44,47,43,11,5,21,63,93,109,117,120,124,124,125,125,76,66,94,64,64,64,95,46
,47,47,46,72,12,6,21,65,75,108,116,119,127,127,129,129,121,66,69,64,64,64,111,47
,45,45,45,45,13,6,21,66,75,107,108,116,119,127,129,129,121,66,69,64,64,64,79,47
,71,44,45,44,9,4,21,67,75,106,107,116,119,127,129,129,121,67,64,64,64,64,79,47
,49,80,43,44,10,5,21,66,75,105,106,108,116,119,127,129,121,67,94,64,64,64,79,70
,71,71,70,72,11,4,21,66,75,104,105,107,108,119,127,129,121,67,94,64,64,64,79,45
,47,46,45,45,13,6,21,66,75,104,105,106,108,116,127,129,121,68,91,64,64,64,79,72
,46,71,47,45,8,6,21,65,75,104,104,105,107,116,119,127,121,68,69,64,64,64,79,45
,44,44,45,45,10,6,21,67,75,104,104,105,107,108,116,127,121,67,64,64,64,64,79,49
,44,45,46,46,11,6,21,66,92,104,104,105,106,108,116,119,128,66,94,64,64,64,79,80
,43,70,72,72,9,6,21,66,92,104,104,105,106,107,108,119,128,65,64,64,64,64,111,47
,71,72,47,72,14,6,21,65,67,103,115,115,123,123,123,123,122,69,94,64,64,64,111,44
,44,72,45,47,12,5,21,64,65,67,67,93,68,68,93,66,63,69,94,64,64,64,111,72,71,44
,73,72,10,3,21,63,64,96,94,63,69,91,69,91,94,94,64,64,64,64,111,47,70,44,46,44
,12,4,6,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,95,44,72,45,72,45,14,2,4,62
,75,76,76,62,62,62,62,62,62,62,76,62,62,77,79,45,43,45,46,42,36,1,2,5,6,6,21,6
,21,21,6,21,21,21,21,6,6,6,37,52,46,45,45,20,11,0,40,40,2,3,4,4,3,3,4,4,2,4,4,3
,3,2,1,15,15,15,14,36,10
};
Byte skos1[]={13,14,14,14,12,11,10,14,11,14,10,9,13,13,13,14,9,13,8,12,13,11,14
,8,11,10,9,8,10,10,12,11,14,10,9,14,14,9,10,12,10,14,9,11,10,8,10,8,13,14,10,8
,10,10,13,13,10,11,11,10,8,14,12,13,9,12,12,12,9,9,9,12,8,13,9,13,8,14,13,8,12
,13,11,9,11,14,9,10,10,9,14,10,8,12,12,13,9,10,14,12,14,12,9,9,8,8,10,8,12,8,14
,13,13,14,8,10,9,10,10,9,13,9,8,9,8,12,12,9,14,14,10,14,14,14,14,9,12,14,12,14
,13,10,11,51,12,13,10,14,8,8,11,13,8,8,8,9,14,12,8,13,14,14,9,14,13,9,8,126
,12,8,10,11,10,8,14,14,10,8,12,12,13,12,9,13,10,14,13,11,12,9,11,12,13,13,11,13
,12,13,13,10,8,10,14,12,11,10,11,9,14,10,11,11,11,12,9,8,9,13,14,8,8,14,10,11,9
,14,13,9,10,11,12,8,11,8,8,13,9,12,9,10,10,11,12,8,10,11,9,9,10,10,14,14,8,14,8
,13,14,9,14,11,8,12,12,14,12,14,13,9,11,8,8,14,10,9,11,12,11,10,9,9,9,11,11,14
,10,11,14,11,9,8,12,12,9,14,14,10,14,14,14,14,9,12,14,12,14,13,10,11,10,10,10,10
,8,8,8,10,13,9,12,9,12,8,8,14,11,11,13,13,12,13,12,8,11,12,13,11,12,10,13,8,8,8
,10,9,11,13,14,12,14,12,12,12,8,14,12,13,10,10,8,14,11,13,14,11,9,10,12,13,8,10
,11,13,11,11,14,9,11,8,10,14,10,14,10,12,8,8,14,14,11,13,11,12,8,8,13,12,11,14,9
,13,11,8,12,10,10,8,12,12,51,10,9,8,9,13,10,14,8,14,8,9,9,14,8,10,14,13,8,11,8
,11,13,12,13,10,13,10,10,10,9,12,11,13,14,13,11,8,14,8,10,10,10,14,13,10,11,10
,11,13,13,12,12,9,11,12,8,13,9,10,14,10,9,9,9,13,12,12,11,8,13,13,36,13,9,10,13
,12,8,13,12,9,13,10,11,12,12,10,9,13,8,9,12,10,11,12,14,9,14,14,8,11,14,12,12,10
,11,9,8,8,14,14,11,13,11,12,8,8,13,12,8,8,10,13,14,10,11,8,8,8,11,11,14,11,12,10
,13,9,14,14,9,9,11,9,10,11,8,14,12,10,12,14,9,11,10,8,13,11,10,9,13,12,11,9,10,9
,9,8
};
Byte grass1[]={16,17,17,18,17,19,20,21,22,22,23,22,24,18,23,23,25,18,22,26,27,28
,28,18,20,24,28,54,55,19,54,56,24,20,54,24,24,20,24,20,20,24,27,24,17,54,54,24
,55,55,28,55,55,54,54,55,54,24,54,54,24,24,54,20,54,17,54,54,55,24,81,55,17,19
,17,27,81,27,54,19,17,54,41,18,24,24,81,23,19,55,18,27,24,97,20,54,19,112,55,81
,18,24,19,24,48,20,55,28,81,28,18,24,112,55,18,81,17,54,24,54,118,19,54,81,23,81
,55,41,26,23,26,26,41,20,26,55,19,81,18,17,28,54,19,28,55,54,17,22,17,55,17,17
,81,18,28,25,97,18,27,112,112,81,24,24,27,26,81,54,24,54,17,27,55,28,23,97,25,54
,28,23,26,26,22,112,55,97,24,28,27,26,16,55,17,27,54,18,19,54,23,16,97,20,54,25
,26,26,19,19,48,18,16,28,17,23,20,19,28,55,24,20,19,28,20,48,23,33,19,97,26,26
,55,54,18,26,25,19,28,26,28,17,27,55,81,23,19,19,18,20,24,41,54,22,26,81,17,27
,17,25,26,28,24,48,22,27,26,55,54,55,55,28,16,33,5,24,41,18,48,55,19,48,97,16,26
,27,48,33,23,97,22,28,19,54,48,81,21,6,21,41,26,33,33,28,54,20,16,48,18,26,33,16
,48,23,17,19,112,26,23,48,21,21,131,48,26,33,97,17,17,20,16,25,97,16,16,26,21,20
,19,112,54,26,26,21,20,41,6,33,16,25,33,55,19,16,41,25,48,16,26,48,97,24,55,54
,24,24,23,21,23,97,48,21,33,24,6,54,54,132,54,18,16,97,28,26,22,28,27,54,20,16
,23,33,22,16,26,48,17,20,33,54,24,19,20,25,97,48,54,54,26,27,20,20,41,21,97,6,33
,23,26,48,19,17,48,24,23,24,27,16,18,16,55,55,19,26,27,54,48,21,24,48,23,33,25
,33,28,23,97,97,6,16,16,20,25,48,17,48,97,22,27,24,20,48,22,17,27,48,48,16,22,25
,24,41,33,25,25,54,23,97,17,18,27,22,97,24,20,18,23,27,17,23,48,25,23,97,27,97
,18,26,18,22,26,18,19,17,28,26,23,17,81,97,25,81,27,24,6,97,48,18,97,16,16,81,33
,18,22,26,24,17,27,23,26,17,27,23,26,26,54,41,33,18,97,22,18,22,48,18,16,97,22
,18,18,27,27,26,48,27,17,97,18,27,55,21,20,26,23,26,27,27,22,26,16,23,22,26,27
,140,19,20
};
Byte stone1[]={13,14,14,29,30,31,31,31,30,3,32,33,32,34,35,36,9,13,8,12,13,11,14
,8,11,10,36,30,31,57,58,57,31,59,59,59,59,31,31,30,32,29,11,11,10,8,10,8,13,8,30
,31,58,82,83,82,82,83,84,84,85,84,83,58,59,30,30,51,9,9,9,12,8,98,30,57,99,83,83
,83,83,84,84,85,100,73,49,74,73,82,31,30,8,12,12,13,9,0,30,57,82,83,83,83,83,84
,84,85,85,73,49,74,113,74,84,59,30,114,10,9,12,0,30,59,58,82,83,83,83,83,84,85
,85,73,49,74,74,113,113,83,31,30,11,10,12,13,30,30,57,99,82,83,83,83,84,84,85
,100,49,49,74,113,113,74,99,30,29,13,12,8,0,30,57,82,83,83,83,83,83,84,85,100,73
,49,74,113,113,113,85,31,40,12,13,13,1,30,99,83,83,83,83,83,83,84,84,85,73,49,74
,74,113,113,74,57,32,8,9,13,30,59,82,83,82,83,83,83,83,83,84,85,100,73,49,74,74
,113,113,57,5,51,10,0,30,57,82,82,83,83,83,83,83,83,84,85,85,73,49,74,74,113,113
,58,130,11,12,29,30,57,82,82,83,83,83,83,83,83,83,84,85,100,73,49,74,74,74,99,30
,11,9,29,30,57,82,82,83,83,83,83,83,83,83,84,84,85,73,49,49,74,74,82,30,0,8,8,30
,31,99,82,82,83,83,83,83,83,83,83,84,85,100,73,49,74,74,83,31,15,12,10,15,30,58
,82,82,82,83,83,83,83,83,83,84,84,85,100,73,49,74,84,31,1,11,13,7,30,58,82,82,82
,82,82,82,83,83,82,83,84,85,85,100,73,49,84,31,15,8,8,7,30,58,82,82,82,82,82,82
,82,82,82,83,84,84,85,85,73,73,82,30,35,10,10,35,30,57,82,82,82,82,82,82,82,82
,83,82,83,84,84,85,85,85,59,30,51,13,10,133,30,59,99,99,82,82,82,82,82,82,82,83
,82,83,84,84,84,57,30,35,10,11,13,13,1,31,58,82,99,82,82,82,99,58,58,82,82,83,83
,99,57,31,40,13,13,8,13,9,0,30,59,99,99,99,99,99,58,59,59,57,57,57,59,31,30,15
,10,11,12,14,9,14,14,15,30,31,58,58,58,57,30,30,30,30,30,30,32,1,37,8,8,13,12,8
,8,10,13,14,35,30,30,31,30,30,30,8,0,37,0,133,9,14,14,9,9,11,9,10,11,8,14,12,10
,37,40,32,1,35,8,13,11,10,9,13,12,11,9,10,9,9,8
};
Byte tree1[]={13,14,8,36,37,11,10,36,38,39,0,14,13,13,13,14,9,13,8,12,13,11,14,8
,11,36,39,39,39,34,38,39,60,61,60,39,34,0,37,37,14,36,15,36,14,8,10,8,11,86,60
,87,61,60,88,61,89,90,89,61,60,88,39,86,39,88,88,88,39,15,9,12,34,88,87,89,89
,101,89,89,89,89,89,89,101,61,61,90,89,89,102,87,60,39,37,13,34,60,89,89,89,89
,89,89,89,89,89,89,89,89,89,89,89,89,89,89,102,88,7,11,15,88,102,101,89,89,89,89
,89,89,101,89,89,101,89,89,89,89,89,89,101,60,34,51,8,39,60,102,89,89,89,89,89
,90,102,101,89,101,101,89,89,89,89,89,101,60,39,51,37,34,60,90,101,89,89,101,89
,101,101,89,89,89,89,89,89,89,89,89,89,87,88,15,37,60,89,89,89,89,101,90,89,89
,89,89,89,89,89,89,89,89,89,89,89,101,102,88,39,102,89,89,89,89,101,90,89,89,89
,89,89,89,101,101,101,101,89,89,89,89,89,61,32,102,89,89,89,89,101,90,90,101,89
,89,89,101,87,101,89,89,89,89,89,89,89,102,39,61,89,89,89,89,89,89,101,102,101
,89,89,90,89,89,89,89,89,89,89,89,89,90,9,39,61,101,89,89,89,89,101,102,102,89
,101,101,89,89,89,89,89,89,89,89,89,102,36,34,88,102,89,89,89,89,89,101,101,89
,89,89,89,89,89,89,89,89,89,101,90,60,8,39,60,101,89,89,89,89,89,89,89,89,89,89
,89,89,89,89,89,89,89,101,101,60,34,88,101,89,89,89,89,89,89,89,89,89,89,89,89
,89,89,89,89,101,101,89,89,102,34,60,89,89,89,89,89,89,89,89,89,89,89,89,89,89
,89,89,101,90,101,89,89,101,34,88,87,89,89,101,89,89,89,89,90,102,89,89,89,89,89
,89,89,89,101,89,89,102,37,32,60,102,87,87,89,89,89,134,135,135,101,89,89,89,89
,89,89,89,101,102,102,60,11,51,37,38,34,88,61,102,61,39,137,131,134,101,101,101
,102,90,89,89,102,60,39,37,8,51,11,37,37,0,39,39,32,15,137,137,138,60,61,60,88
,88,102,102,60,39,40,10,11,9,14,8,8,36,40,36,51,51,137,137,137,34,39,34,29,38,39
,39,32,15,13,12,8,8,10,51,14,37,37,8,8,8,137,137,137,8,9,139,51,8,7,7,14,11,11,9
,10,11,8,14,51,10,12,14,11,11,137,137,137,11,10,9,13,51,14,11,51,9,9,8
};
//Ïàëèòðà öâåòîâ. Äåêîäèðóåì â 0xRRGGBB //Ïàëèòðà öâåòîâ. Äåêîäèðóåì â 0xRRGGBB
char * apppath; char * apppath;
char * levpath; char * levpath;
char * getSkinPathName(){
int lastslashindex=0;
static char skinfilename[]="kosskin.gfx";
int tempslfnd=0;
for (tempslfnd=0; tempslfnd < strlen(kosExePath); tempslfnd++){
if (kosExePath[tempslfnd]=='/'){lastslashindex=tempslfnd;}
}
apppath = new char[lastslashindex+strlen(skinfilename)+1];
for (tempslfnd=0; tempslfnd <= lastslashindex; tempslfnd++){
apppath[tempslfnd]=kosExePath[tempslfnd];
}
for (tempslfnd=0; tempslfnd < strlen(skinfilename); tempslfnd++){
apppath[tempslfnd+lastslashindex+1]=skinfilename[tempslfnd];
}
return apppath;
}
char * getLevelsPathName(){ char * getLevelsPathName(){
@ -317,35 +88,6 @@ char * getLevelsPathName(){
} }
return levpath; return levpath;
}
void decode_graphics(Byte * source, RGB * target){
static const char palette[] = {
0x31,0x8A,0x97,0x2E,0x7F,0x8B,0x2B,0x7B,0x86,0x2B,0x76,0x82,0x28,0x74,0x7F,0x2B,0x70,0x79,0x26,0x6C,0x76,0x2E,0x83,0x90,
0x2F,0x8A,0x97,0x31,0x8C,0x9A,0x32,0x8D,0x9B,0x31,0x8C,0x99,0x33,0x8E,0x9C,0x34,0x8F,0x9D,0x30,0x8B,0x98,0x31,0x85,0x92,
0x32,0x75,0x88,0x54,0xA4,0xBA,0x3D,0x8C,0xA1,0x6A,0xB2,0xC6,0x46,0x8E,0xA0,0x26,0x5F,0x6B,0x44,0x98,0xAF,0x3B,0x87,0x9C,
0x4D,0x96,0xAB,0x38,0x83,0x98,0x40,0x91,0xA8,0x4C,0x9D,0xB4,0x5C,0xAC,0xC1,0x2F,0x87,0x94,0x30,0x30,0x30,0x35,0x34,0x34,
0x33,0x79,0x82,0x2F,0x6E,0x80,0x34,0x81,0x8B,0x32,0x86,0x93,0x2F,0x89,0x96,0x33,0x8C,0x98,0x3B,0x87,0x8F,0x39,0x9F,0x7E,
0x2D,0x81,0x8E,0x3F,0x80,0x92,0x5C,0x71,0x75,0x62,0x64,0x67,0x68,0x6A,0x6D,0x60,0x62,0x66,0x66,0x68,0x6B,0x64,0x66,0x6A,
0x35,0x7B,0x8E,0x61,0x61,0x62,0x41,0x76,0x79,0x33,0x8E,0x9B,0x54,0x79,0x7F,0x67,0x6A,0x77,0x55,0x9E,0xB2,0x5E,0xA7,0xBC,
0x3E,0x8C,0x97,0x3D,0x3E,0x3E,0x45,0x42,0x43,0x38,0x39,0x37,0x37,0x97,0x3C,0x37,0x94,0x20,0x34,0x79,0xB9,0x3E,0x86,0xE6,
0x41,0x8C,0xF2,0x3D,0x83,0xE2,0x3B,0x80,0xDD,0x3A,0x7C,0xD7,0x38,0x79,0xD1,0x3F,0x88,0xEA,0x5B,0x5D,0x60,0x63,0x65,0x68,
0x6B,0x6D,0x70,0x5E,0x5F,0x5F,0x66,0x65,0x65,0x31,0x69,0xB5,0x3B,0x66,0xAC,0x36,0x7D,0xC1,0x38,0x83,0xC8,0x46,0x72,0x99,
0x71,0x72,0x73,0x46,0x95,0xA8,0x4E,0x4D,0x4D,0x52,0x51,0x51,0x56,0x56,0x56,0x59,0x5A,0x5A,0x41,0x7B,0x68,0x33,0x89,0x09,
0x38,0x9B,0x5B,0x36,0x90,0x00,0x36,0x91,0x06,0x41,0x8B,0xF1,0x34,0x70,0xC2,0x37,0x77,0xCD,0x40,0x8A,0xEE,0x4B,0x77,0xA0,
0x41,0x8C,0xF1,0x37,0x80,0x94,0x34,0x8B,0x98,0x4A,0x48,0x49,0x5D,0x5D,0x5D,0x36,0x90,0x03,0x36,0x92,0x0E,0x7B,0x6B,0xB0,
0xF8,0x9C,0x94,0xF6,0x85,0x7C,0xF5,0x74,0x6A,0xF4,0x66,0x5A,0xF1,0x53,0x46,0xB6,0x53,0x5F,0x62,0x64,0x72,0x49,0x74,0x9C,
0x72,0xC4,0xD0,0x69,0x69,0x69,0x32,0x8B,0x99,0x76,0x66,0x9D,0xDD,0x47,0x3B,0xA0,0x49,0x53,0x77,0xCD,0xD8,0xC1,0x3E,0x34,
0x8C,0x43,0x4F,0x38,0x55,0x8E,0x41,0x73,0xC3,0x71,0x5D,0x89,0x74,0x3B,0x48,0x59,0x33,0x43,0x34,0x8D,0x9C,0x9A,0x32,0x2A,
0x49,0x5F,0x99,0x6D,0x23,0x1D,0x37,0x6E,0x75,0x19,0x48,0x52,0x48,0x88,0x8D,0x34,0x8D,0x9B,0x2F,0x7F,0x15,0x28,0x6C,0x2D,
0x8B,0x77,0xAA,0x15,0x3C,0x66,0x24,0x59,0x4E,0x31,0x8F,0x9D,0x48,0xAD,0xBC
};
for (int lc=0;lc<576;lc++)
target[lc] = ((RGB*)palette)[source[lc]];
} }
@ -357,13 +99,13 @@ void interlevelpause(){ //
static int yellow_pal[] = {0xA8A93D,0xBEBF4C,0xD6D856,0xDFE15A,0xECEE5B, static int yellow_pal[] = {0xA8A93D,0xBEBF4C,0xD6D856,0xDFE15A,0xECEE5B,
0xECEE5B,0xDFE15A,0xD6D856,0xBEBF4C,0xA8A93D}; 0xECEE5B,0xDFE15A,0xD6D856,0xBEBF4C,0xA8A93D};
for (int iic=0;iic<240;iic++){ for (int iic=0;iic<240;iic++){
kos_WaitForEvent(1); kos_WaitForEvent(); //Pause()?
kos_GetKey(tempCode); kos_GetKey(tempCode);
kos_DrawBar(iic*2,0,2,480,yellow_pal[tmpa]); kos_DrawBar(iic*2,0,2,480,yellow_pal[tmpa]);
tmpa++; tmpa++;
if (tmpa>9){tmpa=0;} if (tmpa>9) tmpa=0;
} }
} }
@ -395,8 +137,6 @@ switch (gamearea[elx][ely]){
kos_PutImage((RGB*)kosilka_r,24,24,elx*24,ely*24); kos_PutImage((RGB*)kosilka_r,24,24,elx*24,ely*24);
break; break;
} }
} }
else else
{ {
@ -404,7 +144,6 @@ switch (gamearea[elx][ely]){
} }
break; break;
case 'n': case 'n':
if (drawgraphics==true){ if (drawgraphics==true){
@ -440,7 +179,6 @@ switch (gamearea[elx][ely]){
break; break;
} }
} }
@ -508,20 +246,16 @@ void animate(int initcellx, int initcelly, int direction){ //
} }
break; break;
} }
} }
void draw_window(void){ //Ïåðåðèñîâêà îêíà void draw_window(void){ //Ïåðåðèñîâêà îêíà
//----Leency
sProcessInfo sPI; sProcessInfo sPI;
if (w_redraw) if (w_redraw)
{ {
kos_WindowRedrawStatus(1); //Íà÷àëî ïåðåðèñîâêè kos_WindowRedrawStatus(1); //Íà÷àëî ïåðåðèñîâêè
//kos_DefineAndDrawWindow(50,50,640,506,0x74,0xEEEEEE,0,0,(Dword)windowTitle); kos_DefineAndDrawWindow(50,50,640,506-22+kos_GetSkinHeight(),0x74,0xEEEEEE,0,0,(Dword)windowTitle);
kos_DefineAndDrawWindow(50,50,640,506-22+kos_GetSkinWidth(),0x74,0xEEEEEE,0,0,(Dword)windowTitle);
kos_WindowRedrawStatus(2); //Êîíåö ïåðåðèñîâêè kos_WindowRedrawStatus(2); //Êîíåö ïåðåðèñîâêè
} }
w_redraw=false; w_redraw=false;
@ -534,8 +268,8 @@ void draw_window(void){ //
{ {
kos_DrawBar(631-151,0,151,480,0xEEEEEE); kos_DrawBar(631-151,0,151,480,0xEEEEEE);
kos_WriteTextToWindow(505,30,0x80, 0 ,"Š Ž ˆ Š €",19); kos_WriteTextToWindow(500,30,0x80, 0 ,"Š Ž ˆ Š €",19);
kos_WriteTextToWindow(522,40,0x80, 0 ,"¤«ï Š®«¨¡à¨ Ž‘",14); kos_WriteTextToWindow(517,40,0x80, 0 ,"¤«ï Š®«¨¡à¨ Ž‘",14);
kos_WriteTextToWindow(495,80,0x80, 0 ,"“஢¥­ì:",6); kos_WriteTextToWindow(495,80,0x80, 0 ,"“஢¥­ì:",6);
kos_DisplayNumberToWindow(level,3,605,80,0x0000FF,nbDecimal,false); kos_DisplayNumberToWindow(level,3,605,80,0x0000FF,nbDecimal,false);
@ -586,7 +320,7 @@ void draw_window(void){ //
kos_DrawBar(335,150,24,24,0xAA0000); kos_DrawBar(335,150,24,24,0xAA0000);
} }
kos_WriteTextToWindow(257,200,0x80, 0xFFFFFF ,"Š Ž ˆ Š €",19); kos_WriteTextToWindow(255,200,0x80, 0xFFFFFF ,"Š Ž ˆ Š €",19);
kos_WriteTextToWindow(290, 220,0x80, 0xFFFFFF ,"¤«ï Š®«¨¡à¨ Ž‘",14); kos_WriteTextToWindow(290, 220,0x80, 0xFFFFFF ,"¤«ï Š®«¨¡à¨ Ž‘",14);
kos_WriteTextToWindow(239, 240,0x80, 0xFFFFFF ,"<¤«ï ­ ç «  ¨£àë ­ ¦¬¨â¥ ENTER>",30); kos_WriteTextToWindow(239, 240,0x80, 0xFFFFFF ,"<¤«ï ­ ç «  ¨£àë ­ ¦¬¨â¥ ENTER>",30);
kos_WriteTextToWindow(30, 380,0x80, 0xFFFFFF ,"<­ ¦¬¨â¥ <g> ¤«ï ¯¥à¥ª«î祭¨ï ०¨¬  £à ä¨ª¨>",53); kos_WriteTextToWindow(30, 380,0x80, 0xFFFFFF ,"<­ ¦¬¨â¥ <g> ¤«ï ¯¥à¥ª«î祭¨ï ०¨¬  £à ä¨ª¨>",53);
@ -987,7 +721,6 @@ int grassLeft(){
//Ìåíÿåì óðîâåíü èëè âûâîäèì ñîîáùåíèå î òîì, ÷òî âñå óðîâíè ïðîéäåíû //Ìåíÿåì óðîâåíü èëè âûâîäèì ñîîáùåíèå î òîì, ÷òî âñå óðîâíè ïðîéäåíû
void updateStatus(){ void updateStatus(){
if (grassLeft()==0) { if (grassLeft()==0) {
if (level==levelcount){ if (level==levelcount){
gamestarted=false; gamestarted=false;
@ -1006,114 +739,24 @@ void updateStatus(){
void decode_skin(){
int currentbyte3x=0;
RGB tmpRGB;
int tmpcc1=0;
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
kosilka_d[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
kosilka_u[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
kosilka_l[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
kosilka_r[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
skos[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
grass[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
stone[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
for (tmpcc1=0;tmpcc1<576;tmpcc1++){
tmpRGB.r= skindata[currentbyte3x];
tmpRGB.g= skindata[currentbyte3x+1];
tmpRGB.b= skindata[currentbyte3x+2];
tree[tmpcc1]=tmpRGB;
currentbyte3x+=3;
}
}
void load_external_levels(){ void load_external_levels(){
CKosFile lev(getLevelsPathName()); CKosFile lev(getLevelsPathName());
level_read_result=lev.Read (external_levels_count,1); level_read_result=lev.Read (external_levels_count,1);
if (level_read_result == 1){ if (level_read_result == 1)
external_levels_available=true; external_levels_available=true;
}
else else
{
external_levels_available=false; external_levels_available=false;
};
if (external_levels_count[0]==0)
if (external_levels_count[0]==0){
external_levels_available=false; external_levels_available=false;
}
else else
{ {
externallevels = new Byte[400*external_levels_count[0]]; externallevels = new Byte[400*external_levels_count[0]];
lev.Read (externallevels,400*external_levels_count[0]); lev.Read (externallevels,400*external_levels_count[0]);
} }
} }
void app_halt(){ void app_halt(){
@ -1122,43 +765,22 @@ void app_halt(){
delete levpath; delete levpath;
if (external_levels_available==true) {delete externallevels;} if (external_levels_available==true) {delete externallevels;}
kos_ExitApp(); kos_ExitApp();
} }
void kos_Main(){ void kos_Main(){
load_external_levels(); load_external_levels();
CKosFile skin(getSkinPathName()); decode_graphics(576*0 + kosilka_gfx,kosilka_d);
decode_graphics(576*1 + kosilka_gfx,kosilka_u);
read_result=skin.Read (skindata,13824); decode_graphics(576*2 + kosilka_gfx,kosilka_l);
if (read_result != 13824){ decode_graphics(576*3 + kosilka_gfx,kosilka_r);
skin_available=false; decode_graphics(576*4 + kosilka_gfx,skos);
} decode_graphics(576*5 + kosilka_gfx,stone);
else decode_graphics(576*6 + kosilka_gfx,tree);
{ decode_graphics(576*7 + kosilka_gfx,grass);
skin_available=true;
};
if (skin_available==false){
decode_graphics(kosilka_d1,kosilka_d);
decode_graphics(kosilka_u1,kosilka_u);
decode_graphics(kosilka_l1,kosilka_l);
decode_graphics(kosilka_r1,kosilka_r);
decode_graphics(skos1,skos);
decode_graphics(stone1,stone);
decode_graphics(tree1,tree);
decode_graphics(grass1,grass);
skinned=false;
}
else
{
decode_skin();
skinned=true;
}
draw_window();
for (;;){ for (;;){
@ -1367,29 +989,6 @@ void kos_Main(){
draw_window(); draw_window();
} }
if (keyCode==115){
if (skin_available==true){
if (skinned==true){
skinned=false;
decode_graphics(kosilka_d1,kosilka_d);
decode_graphics(kosilka_u1,kosilka_u);
decode_graphics(kosilka_l1,kosilka_l);
decode_graphics(kosilka_r1,kosilka_r);
decode_graphics(skos1,skos);
decode_graphics(stone1,stone);
decode_graphics(tree1,tree);
decode_graphics(grass1,grass);
} else {
skinned=true;
decode_skin();
}
draw_window();
}
}
if (keyCode==27){ if (keyCode==27){
app_halt(); app_halt();
} }
@ -1451,10 +1050,6 @@ void kos_Main(){
} }
} }
//Âûâîäèì êîä íàæàòîé êëàâèøè. Ôè÷à âðåìåííàÿ
/* kos_DrawBar(20,250,150,10,0xEEEEEE);
kos_WriteTextToWindow(20,250,0x80, 0 ,"Button",0);
kos_DisplayNumberToWindow(keyCode,3,70,250,0x0000FF,nbDecimal,false); */
break; break;
case 3: case 3:
@ -1464,4 +1059,4 @@ void kos_Main(){
} }
} }
// Êîíåö èñõîäíèêà ;-) // Êîíåö èñõîäíèêà