Add car model
This commit is contained in:
		
							parent
							
								
									a3bc8aa655
								
							
						
					
					
						commit
						4e645b4c0f
					
				
					 3 changed files with 614 additions and 66 deletions
				
			
		
							
								
								
									
										495
									
								
								assets.h
									
										
									
									
									
								
							
							
						
						
									
										495
									
								
								assets.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -47,6 +47,9 @@ static const uint8_t map1[] =
 | 
			
		|||
    LCR_MAP_BLOCK(LCR_BLOCK_FULL,63,63,0,LCR_BLOCK_MATERIAL_GRASS,0),
 | 
			
		||||
    LCR_MAP_BLOCK(LCR_BLOCK_CUBOID_HOLLOW,1,1,40,0,0),
 | 
			
		||||
 | 
			
		||||
    LCR_MAP_BLOCK(LCR_BLOCK_FULL,0,15,0,LCR_BLOCK_MATERIAL_GRASS,0),
 | 
			
		||||
    LCR_MAP_BLOCK(LCR_BLOCK_CUBOID_HOLLOW,7,4,8,0,0),
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
    LCR_MAP_BLOCK(LCR_BLOCK_FULL,0,15,0,LCR_BLOCK_MATERIAL_GRASS,0),
 | 
			
		||||
    LCR_MAP_BLOCK(LCR_BLOCK_CUBOID_HOLLOW,7,4,8,0,0),
 | 
			
		||||
| 
						 | 
				
			
			@ -92,6 +95,7 @@ const uint8_t *_LCR_currentImage;
 | 
			
		|||
#define LCR_IMAGE_GROUND_ICE      5
 | 
			
		||||
#define LCR_IMAGE_GROUND_ACCEL    6
 | 
			
		||||
#define LCR_IMAGE_GROUND_FAN      7
 | 
			
		||||
#define LCR_IMAGE_CAR             20
 | 
			
		||||
 | 
			
		||||
static const uint8_t LCR_images[] =
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -5874,7 +5878,296 @@ static const uint8_t LCR_images[] =
 | 
			
		|||
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 | 
			
		||||
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 | 
			
		||||
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 | 
			
		||||
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 | 
			
		||||
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 | 
			
		||||
  // 20: car texture
 | 
			
		||||
  0xaf,0x73,0x86,0x31,0x08,0x42,0x04,0x21,0x65,0x29,0x00,0x00,0x08,0x00,0x10,0x00,
 | 
			
		||||
  0x18,0x00,0x00,0x01,0x08,0x01,0x10,0x01,0x18,0x01,0x00,0x02,0x08,0x02,0x10,0x02,
 | 
			
		||||
  0x18,0x02,0x00,0x03,0x08,0x03,0x10,0x03,0x18,0x03,0x53,0x9c,0x00,0x04,0x08,0x04,
 | 
			
		||||
  0x10,0x04,0x18,0x04,0x00,0x05,0x08,0x05,0x10,0x05,0x18,0x05,0x00,0x06,0x08,0x06,
 | 
			
		||||
  0x10,0x06,0x18,0x06,0x00,0x07,0x08,0x07,0x10,0x07,0x18,0x07,0x00,0x20,0x08,0x20,
 | 
			
		||||
  0x10,0x20,0x18,0x20,0x00,0x21,0x08,0x21,0x10,0x21,0x18,0x21,0x00,0x22,0x08,0x22,
 | 
			
		||||
  0x10,0x22,0x18,0x22,0x00,0x23,0x08,0x23,0x10,0x23,0x18,0x23,0x00,0x24,0x08,0x24,
 | 
			
		||||
  0x10,0x24,0x18,0x24,0x00,0x25,0x08,0x25,0x10,0x25,0x18,0x25,0x00,0x26,0x08,0x26,
 | 
			
		||||
  0x10,0x26,0x18,0x26,0x00,0x27,0x08,0x27,0x10,0x27,0x18,0x27,0x00,0x40,0x08,0x40,
 | 
			
		||||
  0x10,0x40,0x18,0x40,0x00,0x41,0x08,0x41,0x10,0x41,0x18,0x41,0x00,0x42,0x10,0x42,
 | 
			
		||||
  0x18,0x42,0x00,0x43,0x08,0x43,0x10,0x43,0x18,0x43,0x00,0x44,0x08,0x44,0x10,0x44,
 | 
			
		||||
  0x18,0x44,0x00,0x45,0x08,0x45,0x10,0x45,0x18,0x45,0x00,0x46,0x08,0x46,0x10,0x46,
 | 
			
		||||
  0x18,0x46,0x00,0x47,0x08,0x47,0x10,0x47,0x18,0x47,0x00,0x60,0x08,0x60,0x10,0x60,
 | 
			
		||||
  0x18,0x60,0x00,0x61,0x08,0x61,0x10,0x61,0x10,0x8c,0x18,0x61,0x00,0x62,0x08,0x62,
 | 
			
		||||
  0x10,0x62,0x18,0x62,0x00,0x63,0x08,0x63,0x10,0x63,0x18,0x63,0x00,0x64,0x08,0x64,
 | 
			
		||||
  0x10,0x64,0x18,0x64,0x00,0x65,0x08,0x65,0x10,0x65,0x18,0x65,0x00,0x66,0x08,0x66,
 | 
			
		||||
  0x10,0x66,0x18,0x66,0x00,0x67,0x08,0x67,0x18,0x85,0x10,0x67,0x18,0x67,0x00,0x80,
 | 
			
		||||
  0x08,0x80,0x10,0x80,0x18,0x80,0x00,0x81,0x08,0x81,0x10,0x81,0x18,0x81,0x00,0x82,
 | 
			
		||||
  0x08,0x82,0x10,0x82,0x18,0x82,0x00,0x83,0x08,0x83,0x10,0x83,0x18,0x83,0x00,0x84,
 | 
			
		||||
  0x08,0x84,0x18,0x84,0x00,0x85,0x08,0x85,0x10,0x85,0x00,0x86,0x08,0x86,0x10,0x86,
 | 
			
		||||
  0x18,0x86,0x00,0x87,0x08,0x87,0x10,0x87,0x18,0x87,0xcf,0x7b,0x00,0xa0,0x08,0xa0,
 | 
			
		||||
  0x10,0xa0,0x18,0xa0,0x00,0xa1,0x08,0xa1,0x10,0xa1,0x18,0xa1,0x00,0xa2,0x08,0xa2,
 | 
			
		||||
  0x10,0xa2,0x18,0xa2,0x00,0xa3,0x08,0xa3,0x10,0xa3,0x18,0xa3,0x8a,0x52,0x00,0xa4,
 | 
			
		||||
  0x4d,0x6b,0x08,0xa4,0x10,0xa4,0x18,0xa4,0x00,0xa5,0x08,0xa5,0x10,0xa5,0x18,0xa5,
 | 
			
		||||
  0x00,0xa6,0xe8,0x41,0xcb,0x5a,0x08,0xa6,0x10,0xa6,0x18,0xa6,0x00,0xa7,0x08,0xa7,
 | 
			
		||||
  0x10,0xa7,0x18,0xa7,0x00,0xc0,0x08,0xc0,0xc7,0x39,0x32,0x94,0x0c,0x63,0x10,0xc0,
 | 
			
		||||
  0x18,0xc0,0x00,0xc1,0xf0,0x83,0x08,0xc1,0x10,0xc1,0x18,0xc1,0x00,0xc2,0x08,0xc2,
 | 
			
		||||
  0x10,0xc2,0x18,0xc2,0x00,0xc3,0x08,0xc3,0x10,0xc3,0xb0,0x7b,0x18,0xc3,0x6a,0x52,
 | 
			
		||||
  0x00,0xc4,0x08,0xc4,0x10,0xc4,0x18,0xc4,0x00,0xc5,0xed,0x52,0x08,0xc5,0x10,0xc5,
 | 
			
		||||
  0x18,0xc5,0xc3,0x18,0x00,0xc6,0x08,0xc6,0x6e,0x73,0x10,0xc6,0x18,0xc6,0xaf,0x83,
 | 
			
		||||
  0x00,0xc7,0x32,0x53,0x6a,0x4a,0x66,0x29,0x16,0x6c,0xd0,0x7b,0x28,0x5a,0x32,0x8c,
 | 
			
		||||
  0x68,0x6a,0xeb,0x62,0x31,0x94,0x52,0x8c,0xc7,0x41,0x16,0x74,0x13,0x7c,0x49,0x4a,
 | 
			
		||||
  0x04,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0xe9,
 | 
			
		||||
  0xa5,0xec,0x6c,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xcd,0x15,0xcd,0xcd,0xcd,0xcd,0x15,0x15,0x15,0xcd,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,0xcd,0xfb,0xfb,0xd2,0xec,
 | 
			
		||||
  0x01,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x03,
 | 
			
		||||
  0xb8,0x00,0x00,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0x15,0x15,
 | 
			
		||||
  0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xcd,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,0x6c,0xec,0xec,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0xff,0xa5,0xec,0xf7,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0x15,0xcd,0xcd,0xcd,0x00,
 | 
			
		||||
  0x00,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xfe,0x00,0xfe,0xf5,0x15,
 | 
			
		||||
  0x15,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,0xf7,0xec,0xec,0xec,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x03,0x00,0x00,0xa5,0x15,0xcd,0xcd,0x15,0x15,0xcd,0x15,0xcd,0x15,0xcd,0xfb,0xfe,
 | 
			
		||||
  0xfe,0x84,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0x84,0x84,0x84,0x00,0xfb,0x84,0xf5,
 | 
			
		||||
  0xfb,0x15,0x15,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x04,0xc2,0xa5,0xec,0xf7,0x15,0xcd,0x15,0x15,0xcd,0x15,0x15,0x15,0xf5,0x84,0xfb,
 | 
			
		||||
  0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xfe,0xfb,0x84,0x84,
 | 
			
		||||
  0xf5,0xfb,0x15,0xfb,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,0x00,0x00,0xec,0x00,0xce,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0xa5,0x00,0xd2,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xf5,0x84,0x84,0xfe,
 | 
			
		||||
  0xfe,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0xfd,0xd2,0x84,0x84,
 | 
			
		||||
  0x84,0xfd,0xf5,0x15,0xcd,0xcd,0xcd,0xcd,0xcd,0x6c,0x00,0x00,0x00,0x00,0xce,0x03,
 | 
			
		||||
  0x04,0x01,0xce,0xb6,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0xb6,0xa5,0x00,0x6c,0x15,0x15,0x15,0x15,0x15,0xfb,0xfd,0x84,0x84,0xfe,
 | 
			
		||||
  0xfe,0x84,0x84,0x79,0x79,0x79,0x79,0x79,0x84,0x84,0x84,0x84,0xfd,0xd2,0x79,0x84,
 | 
			
		||||
  0x79,0x79,0xfd,0xf5,0x15,0xcd,0xcd,0x15,0xd2,0x00,0x00,0x00,0xa5,0xb6,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x03,0xec,0x00,0xec,0xcd,0x15,0xcd,0x15,0x15,0xf5,0xfd,0xfd,0x99,0x00,
 | 
			
		||||
  0xfe,0x99,0xfd,0x99,0xfd,0xfd,0xf4,0xfd,0xfd,0xfd,0xfd,0xfd,0xf4,0x6c,0xf4,0xf4,
 | 
			
		||||
  0xf4,0xf4,0xf4,0xe5,0xf5,0x15,0xcd,0xa5,0x00,0x00,0xa5,0xce,0xcc,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0xcc,0xa5,0x00,0x00,0x15,0x15,0x15,0xd2,0xf4,0xfd,0xfd,0xfd,0x00,
 | 
			
		||||
  0x00,0xfd,0xfd,0xfd,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xd2,0xf4,0xf4,
 | 
			
		||||
  0xf4,0xf1,0xe5,0xfd,0x15,0xf7,0x00,0x00,0xa5,0xb8,0xb6,0xcc,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0xdf,0xa5,0x00,0xa5,0x15,0x15,0xfe,0xe5,0xe5,0xf1,0xf1,0x00,
 | 
			
		||||
  0x00,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xf4,0xfe,0xf4,0xd2,0xf1,0xf1,
 | 
			
		||||
  0xf1,0xfb,0x15,0xfb,0x00,0x00,0xa5,0xb8,0xb6,0xc2,0xb6,0xfc,0x04,0x04,0x04,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xb6,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0xce,0x00,0x00,0x00,0xa5,0xcd,0x15,0x15,0xfb,0xfb,0x00,
 | 
			
		||||
  0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf1,0xf7,0x15,0x15,
 | 
			
		||||
  0x15,0xf7,0xec,0xa5,0xd2,0xb8,0xcc,0x03,0xcc,0xb6,0xc2,0xff,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xb6,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0xcc,0xb6,0x00,0xa5,0xec,0xec,0xb8,0xb8,0xa5,0xd2,0xf7,0x00,
 | 
			
		||||
  0xcd,0xcd,0x15,0x15,0x15,0x15,0xf7,0x15,0x15,0x15,0xcd,0xcd,0xf7,0xef,0xa5,0x00,
 | 
			
		||||
  0xec,0x00,0xf7,0x00,0xc1,0x03,0x04,0x04,0x04,0x01,0xff,0xb6,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xb6,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0xfc,0xc2,0xc2,0xb6,0xce,0xec,0xa5,0xa5,0xa5,0xa5,0xa5,0xec,
 | 
			
		||||
  0xd2,0xa5,0x00,0xa5,0xd2,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0x00,0xa5,
 | 
			
		||||
  0xd2,0xa5,0xff,0xe9,0x03,0x04,0x04,0x01,0x01,0xff,0x02,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xb6,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0xf3,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x04,0x04,0xff,0xc2,0xdf,0x04,0x03,0x02,0xce,0xa5,0xf7,0xd2,0xec,
 | 
			
		||||
  0xa5,0xa5,0xa5,0xec,0xce,0xce,0xec,0xa5,0xa5,0xa5,0xd2,0xd2,0xa5,0xa5,0xec,0xa5,
 | 
			
		||||
  0xdf,0xe9,0x03,0x03,0x04,0x01,0x01,0x01,0x01,0x02,0xff,0xfc,0x04,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0x04,0x01,0xb6,0xb6,0x01,0x04,0x04,0x03,0xe9,0xf3,0xc2,0xb8,
 | 
			
		||||
  0xc2,0xce,0xb8,0xb8,0xa5,0xec,0xb8,0xce,0xc2,0xc2,0xb6,0xb6,0xff,0xff,0xc1,0x03,
 | 
			
		||||
  0x04,0x03,0x04,0x04,0x01,0x01,0xcc,0xcc,0x01,0x02,0xff,0xfc,0x01,0x01,0x01,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0xf3,0x04,
 | 
			
		||||
  0x01,0x04,0x01,0x04,0x01,0xff,0x01,0xff,0x01,0x01,0x01,0x04,0x03,0x03,0x03,0xdf,
 | 
			
		||||
  0xc1,0xcc,0xfc,0xc1,0x02,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x02,0xc1,0xcc,0x03,
 | 
			
		||||
  0x04,0x03,0x04,0x01,0xcc,0x01,0x01,0x01,0x01,0x02,0xff,0x02,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x02,0xff,0xcc,0x04,0x01,0x01,0x01,0x01,0x04,0x03,0x03,0xff,
 | 
			
		||||
  0xc1,0xc1,0xcc,0x02,0x02,0x02,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0x03,
 | 
			
		||||
  0x04,0x04,0x04,0x01,0x01,0xcc,0xcc,0x01,0x01,0xcc,0x03,0xe9,0xe9,0x04,0x04,0x01,
 | 
			
		||||
  0x04,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0xff,0x02,0xfc,0x04,0x01,0x01,0x01,0x01,0x04,0x04,0x03,0xb6,
 | 
			
		||||
  0xff,0x02,0xc1,0x02,0xff,0xff,0xdf,0xdf,0xdf,0xdf,0xdf,0xf2,0xdf,0xcc,0xc2,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x03,0x04,0x04,0x04,0x01,
 | 
			
		||||
  0x01,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x04,0x04,0x04,0x02,0xf6,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x03,0xb6,
 | 
			
		||||
  0xc2,0xff,0xc1,0xff,0xdf,0xdf,0xc2,0xdf,0xc2,0xb6,0xb6,0xdf,0xdf,0xc1,0xb6,0x04,
 | 
			
		||||
  0x01,0x01,0x04,0x01,0x01,0x01,0x01,0xcc,0xcc,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x03,0xe9,0xe9,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x03,0xdf,
 | 
			
		||||
  0xce,0xff,0xcc,0xff,0xb6,0xb6,0xdf,0xc2,0xdf,0xb6,0xb6,0xb6,0xf2,0xc1,0xc2,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x01,0x01,0xcc,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x03,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x03,0xff,
 | 
			
		||||
  0xce,0xff,0xc1,0xff,0xdf,0xdf,0xb6,0xb6,0xb6,0xb6,0xdf,0xdf,0xff,0xff,0xc2,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x01,0x01,0xcc,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xcc,0x01,0x01,0x04,0x02,
 | 
			
		||||
  0xc2,0xff,0xc1,0xff,0xb6,0xb6,0xc2,0xc2,0xb6,0xb6,0xdf,0xdf,0xc1,0xdf,0xc2,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x04,0x01,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xcc,
 | 
			
		||||
  0xc2,0xff,0x02,0xff,0xff,0xdf,0xf2,0xff,0xff,0xff,0xff,0xff,0xcc,0xdf,0xc2,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0xb8,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x01,
 | 
			
		||||
  0xc2,0xdf,0x02,0xc1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x02,0x02,0xc2,0xc2,0x04,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x04,0x04,
 | 
			
		||||
  0xb6,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x02,0xff,0xff,0xc2,0xc2,0x01,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0xcc,0xcc,0xc1,0xcc,0xcc,0xc1,0xc1,0xc1,0xc1,0x02,0x02,0xc1,0x02,0xff,0xff,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0xf3,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x04,0x04,0x04,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x01,0x04,0x04,0x04,0x04,0x01,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x03,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x04,0x01,0x01,0x01,0x04,0x01,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x01,0xce,0xc2,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xce,0xc2,0x01,0x04,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0x04,0x04,0x01,0x01,0x01,0x04,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x04,0x03,0x04,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x01,0x01,0x01,0x04,0x04,0x01,0x04,0x04,0x01,0x04,0x04,0x04,0x01,0x04,
 | 
			
		||||
  0x04,0x01,0xc2,0xf2,0x01,0x03,0x04,0x04,0x04,0x04,0x04,0xf3,0xc2,0xb6,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x03,0x03,0x03,0x04,0x01,0x01,0x01,0x01,0x04,0x01,0x01,0x01,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x04,0x04,0x04,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x03,0x04,0x04,0x04,0x03,0x03,0x01,0x01,0x01,0x01,0x04,0x04,0x04,0x04,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0xcc,0x04,0x01,0x01,0x04,0x04,0x04,0x04,0x01,0xcc,0x01,0x01,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x03,0x04,0x01,0x04,0x04,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x03,0x04,0x01,0x04,0x04,0x04,0x03,0x04,0x04,0x04,0x04,0x04,0x03,0x04,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x04,0x03,0x03,0x04,0x04,0x04,0x03,0x03,0x01,0x01,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x03,0x03,0x04,0x01,0x01,0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0x03,0x02,0xff,0xff,0x02,0x03,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x04,0x03,0x04,0x01,0x03,0x03,0x04,0x04,0x03,0x04,0x01,0xcc,0x01,0x04,0x04,0x04,
 | 
			
		||||
  0x01,0x01,0x01,0x03,0x03,0x03,0x03,0x03,0xe9,0x03,0x03,0x03,0x03,0x04,0x04,0x01,
 | 
			
		||||
  0x04,0x01,0x04,0x04,0x04,0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x04,0x03,0x03,0x04,
 | 
			
		||||
  0x03,0x03,0x03,0xe9,0xcc,0xc2,0xc2,0xc2,0xce,0xc2,0xce,0xcc,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x04,0x03,0x04,0x04,0x03,0x03,0x03,0x01,0x04,0x03,0x01,0xcc,0x01,0x01,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x03,0x01,0xcc,0x01,0x04,0x04,0x03,0x03,0x04,0x04,0x01,0x04,0x03,0x04,
 | 
			
		||||
  0x01,0x01,0x04,0x04,0x01,0xcc,0xcc,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x04,0x01,
 | 
			
		||||
  0x03,0x03,0x03,0x01,0xc2,0xc2,0xce,0xb8,0xb8,0xce,0xce,0xce,0x01,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x03,0x04,0x04,0x03,0x03,0x03,0x04,0x03,0x03,0x03,0x03,0xe9,0xe9,0xe9,0x03,
 | 
			
		||||
  0x03,0x03,0x03,0x01,0xcc,0x01,0x04,0x01,0x03,0x03,0x04,0x01,0xcc,0xcc,0x03,0xe9,
 | 
			
		||||
  0xe9,0xe9,0xe9,0xe9,0x03,0x03,0x03,0xe9,0xe9,0x03,0xe9,0xe9,0x03,0x04,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0xe9,0xc2,0xce,0xc2,0x00,0x00,0xa5,0x00,0xce,0xb8,0xf9,0xe9,0x03,0x03,
 | 
			
		||||
  0x04,0x03,0x04,0x04,0x03,0x03,0x03,0x01,0x04,0x04,0x04,0x01,0x03,0x04,0x03,0x03,
 | 
			
		||||
  0x04,0x03,0x03,0x01,0xcc,0x01,0x03,0x04,0x03,0x03,0x04,0x01,0x01,0x01,0x03,0x03,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x04,0x01,0x04,0x03,0xe9,0x03,0xe9,0xe9,0x03,0x04,0x04,0x01,
 | 
			
		||||
  0x03,0x03,0x01,0xc2,0xce,0x00,0xcd,0xbf,0xbe,0xcd,0x00,0xce,0xce,0x01,0x03,0x03,
 | 
			
		||||
  0x03,0x03,0x04,0x04,0x03,0x03,0x03,0x01,0x03,0x01,0xcc,0xcc,0x01,0x01,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0x04,0x04,0xcc,0x04,0x04,0x03,0x03,0x03,0x04,0x01,0x01,0x03,0x03,0x01,
 | 
			
		||||
  0x04,0x01,0x01,0x04,0x04,0xcc,0xcc,0x01,0x01,0x04,0x03,0x04,0x04,0x03,0x04,0x01,
 | 
			
		||||
  0x03,0x03,0x02,0xce,0xce,0xd2,0xbe,0xd2,0x00,0x6c,0xa5,0xb8,0xce,0x02,0x03,0x03,
 | 
			
		||||
  0x01,0x03,0x04,0x01,0x04,0x03,0x04,0x03,0x04,0x01,0x01,0x01,0x04,0x01,0x04,0x01,
 | 
			
		||||
  0x01,0x04,0x04,0x03,0x03,0x03,0xe9,0x03,0xe9,0x03,0xe9,0x03,0x03,0x01,0x04,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x04,0x04,0x01,0x01,0x01,0x04,0x03,0x04,0x04,0x04,0x03,0x03,0x03,
 | 
			
		||||
  0x03,0x03,0x02,0xce,0xce,0xd2,0x15,0x00,0xce,0xec,0xa5,0xb8,0xce,0xcc,0x03,0x03,
 | 
			
		||||
  0x01,0x03,0x04,0x01,0x04,0x04,0x03,0x04,0x01,0x01,0x01,0x04,0x04,0x01,0x04,0x01,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0xcc,0x04,0x01,0x01,0x01,0x01,0x01,0x04,0x01,0xcc,0x04,0x01,
 | 
			
		||||
  0x01,0x01,0x04,0x04,0x04,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x03,0x04,
 | 
			
		||||
  0x03,0x03,0x04,0xce,0xce,0xd2,0xd2,0xcd,0xb8,0x00,0xa5,0xce,0xce,0x04,0x03,0x03,
 | 
			
		||||
  0x01,0x04,0x03,0x03,0x03,0x03,0x04,0x01,0xcc,0x01,0x01,0x01,0x04,0x03,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x01,0xcc,0x04,0x04,0x04,0x01,0x01,0x04,0x04,0x01,0x01,0x04,0x04,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x04,0x04,0x04,0x04,0x01,0x04,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0xe9,0xc2,0xb8,0xce,0xa5,0xa5,0xa5,0x6c,0xce,0xb8,0xb6,0xe9,0x03,0x03,
 | 
			
		||||
  0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x01,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0x03,0x04,0xce,0xec,0xce,0x00,0x00,0xce,0xb8,0xce,0x04,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x04,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x03,0x04,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0x01,0x01,0x01,0x04,0xf3,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x01,0xce,0xb8,0xb8,0xce,0xce,0xc2,0x01,0xe9,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,
 | 
			
		||||
  0x04,0x04,0x03,0x04,0x04,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0xe9,0xc1,0xff,0xff,0xcc,0xe9,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x04,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
 | 
			
		||||
  0x01,0x01,0x01,0x04,0x04,0x04,0x01,0x01,0x04,0x04,0x04,0x03,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x04,0x04,0x04,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,
 | 
			
		||||
  0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
 | 
			
		||||
  0x01,0x04,0x04,0x04,0x04,0x04,0x04,0x01,0xcc,0xcc,0xc1,0x02,0xc1,0x02,0xdf,0xff,
 | 
			
		||||
  0xff,0xdf,0xdf,0xb6,0xb6,0xb6,0xb6,0xb6,0xc2,0xce,0xce,0xce,0xec,0xec,0xec,0xb8,
 | 
			
		||||
  0xce,0xce,0xff,0xff,0xb6,0xb8,0xec,0x00,0xec,0xec,0x00,0xa5,0xf3,0xcc,0x02,0x02,
 | 
			
		||||
  0xc1,0x02,0x02,0x02,0xfc,0xc2,0xef,0x6c,0xd2,0xd2,0xd2,0xa5,0xce,0xce,0xec,0xf7,
 | 
			
		||||
  0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xd2,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
 | 
			
		||||
  0x15,0x15,0x15,0xcd,0x15,0x15,0x15,0xf5,0xfb,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,
 | 
			
		||||
  0x00,0xce,0xb6,0xc2,0x00,0x00,0xa5,0xa5,0xec,0xec,0xec,0x00,0xf3,0xcc,0xc1,0xc1,
 | 
			
		||||
  0x02,0x02,0x02,0x02,0xfc,0xf9,0x6f,0xf8,0xd2,0x00,0x00,0xa5,0xec,0xb6,0xdf,0xdd,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xfb,0xcd,0xcd,0xfa,0xd2,0xec,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xcd,0xfb,0xcd,0xfb,0xfb,0xfb,0xcd,0xdd,0xf5,0xd2,0xd2,0x6c,0xf7,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xc2,0xb6,0xce,0x00,0x00,0x00,0x00,0xa5,0xec,0xc1,0xdf,0xa5,0xf3,0xcc,0xc1,0xc1,
 | 
			
		||||
  0x02,0xcc,0xcc,0xcc,0xcc,0xc2,0xf8,0xf8,0xd2,0xa5,0x00,0xa5,0xa5,0xb8,0xdf,0xd2,
 | 
			
		||||
  0xfe,0x74,0xf1,0xf4,0xfd,0xfd,0xfd,0x78,0xf5,0xcd,0x15,0xcd,0xcd,0x00,0xf5,0xcd,
 | 
			
		||||
  0xcd,0xd2,0xec,0x6c,0xfb,0xcd,0x15,0xdd,0x84,0x84,0x79,0xf4,0xf4,0xf1,0xfe,0xcd,
 | 
			
		||||
  0x02,0xce,0x00,0x00,0xec,0x00,0xa5,0xa5,0xce,0x6e,0xf8,0xec,0xf3,0xcc,0xc1,0xc1,
 | 
			
		||||
  0x02,0xcc,0x00,0x00,0xdf,0xc2,0x6f,0xf8,0xec,0xb8,0xb8,0xb8,0xb8,0xec,0xce,0xcd,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xdd,0xfe,0xd2,0xd2,0x6c,0xa5,0xec,0xec,0xa5,
 | 
			
		||||
  0xa5,0xec,0xec,0xec,0xd2,0xd2,0xdd,0xdd,0x84,0x84,0x84,0xfd,0xf4,0xfe,0xf1,0xcd,
 | 
			
		||||
  0xc2,0xec,0xec,0xa5,0xa5,0xa5,0xa5,0xa5,0xec,0x69,0xf8,0xec,0xc2,0xc2,0xc1,0xc1,
 | 
			
		||||
  0xff,0x02,0xf5,0xd2,0xb6,0xb6,0xb8,0xb8,0xb8,0xa5,0xa5,0xec,0xec,0xb8,0xff,0xcd,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xdd,0xfe,0xd2,0xd2,0xa5,0xa5,0xec,0xa5,0xec,
 | 
			
		||||
  0x00,0xa5,0xec,0xa5,0xef,0xd2,0xdd,0xdd,0xfd,0x84,0x84,0xfd,0xf4,0xfe,0xe5,0xd2,
 | 
			
		||||
  0xff,0xb8,0x00,0xd2,0xa5,0xa5,0xa5,0xa5,0xc2,0xc2,0xc2,0xec,0xb8,0xf5,0xc1,0xc1,
 | 
			
		||||
  0xcc,0x03,0xf5,0xf7,0xb6,0xb6,0xa5,0xd2,0xd2,0xa5,0xec,0xec,0xec,0xb8,0xb6,0xfa,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xdd,0xfe,0xf7,0x6c,0xef,0xa5,0xec,0xa5,0x00,
 | 
			
		||||
  0x00,0xa5,0xec,0xa5,0xef,0x6c,0x6c,0xdd,0xfd,0x84,0x84,0xfd,0xf4,0xfe,0xe5,0xd2,
 | 
			
		||||
  0xc2,0xec,0xec,0xd2,0xd2,0xa5,0xa5,0xa5,0xc2,0xec,0xb8,0xec,0xb8,0xf5,0xc1,0xc1,
 | 
			
		||||
  0x02,0x01,0xec,0xb8,0xb6,0xb8,0xa5,0xd2,0xd2,0xa5,0xec,0xec,0xec,0xec,0xf2,0xfa,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xdd,0xfe,0xa5,0x00,0xef,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x00,0xec,0xec,0xec,0xd2,0xa5,0xa5,0xdd,0xfd,0x84,0x84,0xfd,0xf4,0xfe,0xe5,0xd2,
 | 
			
		||||
  0xc2,0xec,0x00,0xef,0xd2,0xd2,0xa5,0xa5,0xce,0xec,0xb8,0xec,0xc2,0x00,0xc1,0xc1,
 | 
			
		||||
  0x02,0x01,0x00,0x00,0xb6,0xa5,0xa5,0xd2,0xd2,0xec,0xec,0xec,0xec,0xec,0xff,0x15,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xfe,0xfd,0x84,0x84,0xf5,0xd2,0x6c,0x6c,0xef,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x00,0xec,0xec,0xec,0xd2,0x6c,0x6c,0xdd,0xfd,0x84,0x84,0xfd,0xf4,0xfe,0xe5,0xd2,
 | 
			
		||||
  0xb6,0xb8,0xec,0xef,0xd2,0xa5,0xa5,0xa5,0xce,0xec,0xb8,0xec,0xc2,0x00,0xc1,0xc1,
 | 
			
		||||
  0x02,0x01,0xec,0x00,0xb6,0xb8,0xa5,0xd2,0xd2,0xec,0xec,0xec,0xec,0xec,0xf2,0x15,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xf5,0xd2,0xdd,0xdd,0xef,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x00,0xec,0xec,0xec,0xd2,0xdd,0xdd,0xdd,0xfd,0x84,0x84,0xfd,0xf4,0xf4,0xe5,0x6c,
 | 
			
		||||
  0xf2,0xec,0x00,0xef,0xa5,0xd2,0xa5,0xa5,0xce,0xb8,0xb8,0xec,0xc2,0xec,0xc1,0xc1,
 | 
			
		||||
  0xff,0x02,0x00,0xa5,0xb6,0xb6,0xa5,0xd2,0xd2,0xec,0xec,0xec,0xec,0xec,0xdf,0xcd,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xf5,0xd2,0xef,0x00,0xef,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x00,0xec,0xec,0xec,0xd2,0xdd,0xec,0xdd,0x79,0x84,0x84,0xfd,0xf4,0xf4,0xe5,0xd2,
 | 
			
		||||
  0xdf,0xec,0x00,0xa5,0xa5,0xd2,0xa5,0xa5,0xce,0xec,0xb8,0xec,0xb8,0x00,0xc1,0xc1,
 | 
			
		||||
  0xc1,0xe9,0x00,0xd2,0xb6,0xdf,0xa5,0xd2,0xd2,0xa5,0xec,0xec,0xec,0xb8,0xff,0xfa,
 | 
			
		||||
  0xe5,0xf1,0xfe,0xf4,0xfd,0x84,0x84,0xf5,0xfe,0xf7,0x6c,0xef,0xf5,0xec,0xf5,0x00,
 | 
			
		||||
  0x00,0xf5,0xec,0xf5,0xd2,0x6c,0x6c,0xdd,0x79,0x84,0x84,0xfd,0xf4,0xf4,0xe5,0xd2,
 | 
			
		||||
  0x02,0xb8,0xec,0xa5,0xa5,0xa5,0xa5,0xa5,0xc2,0xc2,0xc2,0xec,0xb8,0xf5,0xc1,0xc1,
 | 
			
		||||
  0xcc,0xf3,0x00,0xd2,0xb6,0xf9,0xb8,0xb8,0xb8,0xa5,0xa5,0xec,0xec,0xb8,0xc2,0xcd,
 | 
			
		||||
  0xe5,0xf1,0xf4,0xf4,0xfd,0x84,0x84,0xf5,0xfe,0xec,0x00,0xef,0xec,0xec,0xec,0x00,
 | 
			
		||||
  0x00,0xec,0x00,0x00,0xd2,0xec,0xb8,0xdd,0x84,0x84,0x84,0xfd,0xf4,0xf4,0xe5,0xd2,
 | 
			
		||||
  0xce,0xec,0xec,0xa5,0xa5,0xa5,0xa5,0xa5,0xec,0xf9,0xf9,0xec,0xb8,0xf5,0xc1,0xc1,
 | 
			
		||||
  0x02,0xcc,0x00,0x00,0xc1,0xc2,0x6f,0xf8,0xec,0xb8,0xb8,0xb8,0xb8,0xb8,0xb6,0xcd,
 | 
			
		||||
  0xe5,0xf1,0xf4,0xfd,0xfd,0x84,0x84,0xf5,0xfe,0x6c,0xf5,0x6c,0xd2,0xb8,0xb8,0xef,
 | 
			
		||||
  0xef,0xec,0xec,0xec,0x6c,0x6c,0xf5,0xdd,0x84,0x84,0x84,0xfd,0xfd,0xf4,0xf1,0xec,
 | 
			
		||||
  0xff,0xb8,0xec,0xa5,0xa5,0xa5,0xa5,0xa5,0xb8,0x6e,0xf8,0xec,0x02,0x02,0xc1,0xc1,
 | 
			
		||||
  0x02,0xcc,0xcc,0xcc,0xcc,0xc2,0xf8,0xf8,0xd2,0xec,0xec,0x00,0xec,0xce,0xdf,0xd2,
 | 
			
		||||
  0xfe,0xf1,0xf1,0xf4,0xfd,0xfd,0x84,0x78,0xf5,0x15,0xcd,0xcd,0xcd,0x6c,0xcd,0xcd,
 | 
			
		||||
  0xcd,0x6c,0x6c,0xcd,0xcd,0x15,0xcd,0xdd,0x84,0x84,0x79,0xf4,0xf4,0xf1,0xfe,0xcd,
 | 
			
		||||
  0xff,0xdf,0xb8,0xec,0xec,0x00,0xa5,0xa5,0xce,0x01,0xf6,0xec,0xf3,0xcc,0xc1,0xc1,
 | 
			
		||||
  0x02,0x02,0x02,0x02,0xfc,0xf9,0x6f,0xf8,0xd2,0x00,0x00,0xa5,0xec,0xdf,0xc2,0x6c,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xfb,0xcd,0xcd,0xfa,0xd2,0xec,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xa5,0xf5,0xd2,0xd2,0x6c,0xf7,0xcd,0xcd,0xcd,
 | 
			
		||||
  0xec,0xdf,0xdf,0xb8,0x00,0x00,0xa5,0xa5,0xec,0xf9,0xb8,0x00,0x01,0xcc,0xc1,0xc1,
 | 
			
		||||
  0x02,0x02,0x02,0xc1,0xcc,0xb6,0x00,0x00,0xd2,0x00,0x00,0x00,0xc2,0xc2,0x00,0x6c,
 | 
			
		||||
  0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xf5,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
 | 
			
		||||
  0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xa5,0xf7,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xfb,
 | 
			
		||||
  0x00,0xec,0xb6,0xb6,0xce,0x00,0xa5,0xa5,0x00,0x00,0xec,0xa5,0x01,0xcc,0xc1,0xc1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void LCR_loadImage(unsigned int index)
 | 
			
		||||
| 
						 | 
				
			
			@ -5930,4 +6223,204 @@ uint16_t LCR_getNextImagePixel(void)
 | 
			
		|||
  return r;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LCR_CAR_VERTEX_COUNT 124
 | 
			
		||||
#define LCR_CAR_TRIANGLE_COUNT 228
 | 
			
		||||
 | 
			
		||||
static const int32_t LCR_carVertices[] =
 | 
			
		||||
{
 | 
			
		||||
  -700, -45, 354, -289, -45, 362, -700, -244, 437, -289, 
 | 
			
		||||
  -239, 442, -700, -327, 636, -289, -319, 636, -700, -244, 
 | 
			
		||||
  835, -289, -239, 830, -700, -45, 918, -289, -45, 910, 
 | 
			
		||||
  -700, 153, 835, -289, 148, 830, -700, 236, 636, -289, 
 | 
			
		||||
  228, 636, -700, 153, 437, -289, 148, 442, -500, -45, 
 | 
			
		||||
  304, -500, -280, 401, -500, -377, 636, -500, -280, 871, 
 | 
			
		||||
  -500, -45, 968, -500, 189, 871, -500, 286, 636, -500, 
 | 
			
		||||
  189, 401, 698, -45, 918, 287, -45, 910, 698, -244, 
 | 
			
		||||
  835, 287, -239, 830, 698, -327, 636, 287, -319, 636, 
 | 
			
		||||
  698, -244, 437, 287, -239, 442, 698, -45, 354, 287, 
 | 
			
		||||
  -45, 362, 698, 153, 437, 287, 148, 442, 698, 236, 
 | 
			
		||||
  636, 287, 228, 636, 698, 153, 835, 287, 148, 830, 
 | 
			
		||||
  498, -45, 968, 498, -280, 871, 498, -377, 636, 498, 
 | 
			
		||||
  -280, 401, 498, -45, 304, 498, 189, 401, 498, 286, 
 | 
			
		||||
  636, 498, 189, 871, -700, -45, -1021, -289, -45, -1013, 
 | 
			
		||||
  -700, -244, -938, -289, -239, -933, -700, -327, -739, -289, 
 | 
			
		||||
  -319, -739, -700, -244, -540, -289, -239, -545, -700, -45, 
 | 
			
		||||
  -457, -289, -45, -465, -700, 153, -540, -289, 148, -545, 
 | 
			
		||||
  -700, 236, -739, -289, 228, -739, -700, 153, -938, -289, 
 | 
			
		||||
  148, -933, -500, -45, -1071, -500, -280, -974, -500, -377, 
 | 
			
		||||
  -739, -500, -280, -504, -500, -45, -407, -500, 189, -504, 
 | 
			
		||||
  -500, 286, -739, -500, 189, -974, 698, -45, -457, 287, 
 | 
			
		||||
  -45, -465, 698, -244, -540, 287, -239, -545, 698, -327, 
 | 
			
		||||
  -739, 287, -319, -739, 698, -244, -938, 287, -239, -933, 
 | 
			
		||||
  698, -45, -1021, 287, -45, -1013, 698, 153, -938, 287, 
 | 
			
		||||
  148, -933, 698, 236, -739, 287, 228, -739, 698, 153, 
 | 
			
		||||
  -540, 287, 148, -545, 498, -45, -407, 498, -280, -504, 
 | 
			
		||||
  498, -377, -739, 498, -280, -974, 498, -45, -1071, 498, 
 | 
			
		||||
  189, -974, 498, 286, -739, 498, 189, -504, -357, -140, 
 | 
			
		||||
  192, -384, -190, -293, -422, 126, 243, -479, 95, -359, 
 | 
			
		||||
  -201, 477, 167, -236, 446, -302, -212, 168, -621, -222, 
 | 
			
		||||
  122, -799, -272, 207, 462, -232, -109, -847, -245, 180, 
 | 
			
		||||
  671, -234, -66, 705, -235, -192, -391, -254, -133, 279, 
 | 
			
		||||
  363, -140, 192, 390, -190, -293, 428, 126, 243, 485, 
 | 
			
		||||
  95, -359, 207, 477, 167, 242, 446, -302, 218, 168, 
 | 
			
		||||
  -621, 228, 122, -799, 278, 207, 462, 238, -109, -847, 
 | 
			
		||||
  251, 180, 671, 240, -66, 705, 241, -192, -391, 260, 
 | 
			
		||||
  -133, 279
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const uint16_t LCR_carTriangles[] =
 | 
			
		||||
{
 | 
			
		||||
  58, 56, 52, 52, 60, 58, 65, 64, 48, 64, 71, 62, 64, 
 | 
			
		||||
  49, 63, 64, 65, 51, 65, 66, 53, 52, 66, 65, 54, 67, 
 | 
			
		||||
  66, 66, 67, 55, 67, 68, 57, 56, 68, 67, 68, 69, 59, 
 | 
			
		||||
  58, 69, 68, 60, 70, 69, 60, 62, 71, 61, 70, 71, 70, 
 | 
			
		||||
  61, 59, 52, 56, 54, 60, 52, 62, 62, 52, 48, 48, 52, 
 | 
			
		||||
  50, 59, 61, 53, 59, 53, 57, 53, 55, 57, 61, 63, 53, 
 | 
			
		||||
  63, 49, 53, 51, 53, 49, 65, 48, 50, 64, 62, 48, 64, 
 | 
			
		||||
  63, 71, 64, 51, 49, 65, 53, 51, 52, 65, 50, 54, 66, 
 | 
			
		||||
  52, 66, 55, 53, 67, 57, 55, 56, 67, 54, 68, 59, 57, 
 | 
			
		||||
  58, 68, 56, 60, 69, 58, 60, 71, 70, 61, 71, 63, 70, 
 | 
			
		||||
  59, 69, 82, 80, 76, 76, 84, 82, 89, 88, 72, 88, 95, 
 | 
			
		||||
  86, 88, 73, 87, 88, 89, 75, 89, 90, 77, 76, 90, 89, 
 | 
			
		||||
  78, 91, 90, 90, 91, 79, 91, 92, 81, 80, 92, 91, 92, 
 | 
			
		||||
  93, 83, 82, 93, 92, 84, 94, 93, 84, 86, 95, 85, 94, 
 | 
			
		||||
  95, 94, 85, 83, 76, 80, 78, 84, 76, 86, 86, 76, 72, 
 | 
			
		||||
  72, 76, 74, 83, 85, 77, 83, 77, 81, 77, 79, 81, 85, 
 | 
			
		||||
  87, 77, 87, 73, 77, 75, 77, 73, 89, 72, 74, 88, 86, 
 | 
			
		||||
  72, 88, 87, 95, 88, 75, 73, 89, 77, 75, 76, 89, 74, 
 | 
			
		||||
  78, 90, 76, 90, 79, 77, 91, 81, 79, 80, 91, 78, 92, 
 | 
			
		||||
  83, 81, 82, 92, 80, 84, 93, 82, 84, 95, 94, 85, 95, 
 | 
			
		||||
  87, 94, 83, 93, 96, 99, 98, 98, 101, 100, 107, 121, 109, 
 | 
			
		||||
  118, 120, 106, 101, 99, 102, 118, 104, 114, 121, 107, 120, 100, 
 | 
			
		||||
  104, 98, 114, 100, 115, 103, 117, 102, 103, 105, 119, 109, 104, 
 | 
			
		||||
  107, 102, 99, 108, 99, 97, 108, 108, 97, 109, 103, 102, 105, 
 | 
			
		||||
  108, 105, 102, 104, 109, 98, 98, 109, 96, 106, 107, 104, 102, 
 | 
			
		||||
  116, 101, 122, 119, 105, 123, 122, 108, 96, 109, 97, 110, 113, 
 | 
			
		||||
  111, 112, 115, 113, 109, 121, 123, 106, 104, 118, 115, 116, 113, 
 | 
			
		||||
  100, 114, 104, 120, 107, 106, 114, 112, 118, 101, 115, 100, 117, 
 | 
			
		||||
  116, 102, 119, 117, 103, 123, 121, 118, 116, 122, 113, 113, 122, 
 | 
			
		||||
  111, 122, 123, 111, 117, 119, 116, 122, 116, 119, 118, 112, 123, 
 | 
			
		||||
  112, 110, 123, 120, 118, 121, 115, 101, 116, 109, 123, 108, 122, 
 | 
			
		||||
  105, 108, 110, 111, 123, 96, 97, 99, 98, 99, 101, 110, 112, 
 | 
			
		||||
  113, 112, 114, 115, 10, 8, 4, 4, 12, 10, 17, 16, 0, 
 | 
			
		||||
  16, 23, 14, 16, 1, 15, 16, 17, 3, 17, 18, 5, 4, 
 | 
			
		||||
  18, 17, 6, 19, 18, 18, 19, 7, 19, 20, 9, 8, 20, 
 | 
			
		||||
  19, 20, 21, 11, 10, 21, 20, 12, 22, 21, 12, 14, 23, 
 | 
			
		||||
  13, 22, 23, 22, 13, 11, 4, 8, 6, 12, 4, 14, 14, 
 | 
			
		||||
  4, 0, 0, 4, 2, 11, 13, 5, 11, 5, 9, 5, 7, 
 | 
			
		||||
  9, 13, 15, 5, 15, 1, 5, 3, 5, 1, 17, 0, 2, 
 | 
			
		||||
  16, 14, 0, 16, 15, 23, 16, 3, 1, 17, 5, 3, 4, 
 | 
			
		||||
  17, 2, 6, 18, 4, 18, 7, 5, 19, 9, 7, 8, 19, 
 | 
			
		||||
  6, 20, 11, 9, 10, 20, 8, 12, 21, 10, 12, 23, 22, 
 | 
			
		||||
  13, 23, 15, 22, 11, 21, 34, 32, 28, 28, 36, 34, 41, 
 | 
			
		||||
  40, 24, 40, 47, 38, 40, 25, 39, 40, 41, 27, 41, 42, 
 | 
			
		||||
  29, 28, 42, 41, 30, 43, 42, 42, 43, 31, 43, 44, 33, 
 | 
			
		||||
  32, 44, 43, 44, 45, 35, 34, 45, 44, 36, 46, 45, 36, 
 | 
			
		||||
  38, 47, 37, 46, 47, 46, 37, 35, 28, 32, 30, 36, 28, 
 | 
			
		||||
  38, 38, 28, 24, 24, 28, 26, 35, 37, 29, 35, 29, 33, 
 | 
			
		||||
  29, 31, 33, 37, 39, 29, 39, 25, 29, 27, 29, 25, 41, 
 | 
			
		||||
  24, 26, 40, 38, 24, 40, 39, 47, 40, 27, 25, 41, 29, 
 | 
			
		||||
  27, 28, 41, 26, 30, 42, 28, 42, 31, 29, 43, 33, 31, 
 | 
			
		||||
  32, 43, 30, 44, 35, 33, 34, 44, 32, 36, 45, 34, 36, 
 | 
			
		||||
  47, 46, 37, 47, 39, 46, 35, 45
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const uint16_t LCR_carUvs[] =
 | 
			
		||||
{
 | 
			
		||||
  107, 233, 64, 134, 123, 192, 66, 251, 63, 292, 
 | 
			
		||||
  125, 323, 63, 323, 125, 353, 63, 353, 4, 353, 
 | 
			
		||||
  4, 323, 4, 292, 4, 260, 63, 260, 125, 260, 
 | 
			
		||||
  125, 477, 63, 509, 63, 477, 4, 477, 4, 446, 
 | 
			
		||||
  63, 446, 125, 446, 4, 415, 63, 415, 125, 415, 
 | 
			
		||||
  125, 384, 63, 384, 4, 384, 105, 151, 24, 235, 
 | 
			
		||||
  6, 194, 23, 152, 24, 235, 64, 134, 66, 251, 
 | 
			
		||||
  6, 194, 23, 152, 107, 233, 124, 191, 106, 150, 
 | 
			
		||||
  125, 292, 125, 509, 4, 509, 254, 315, 249, 398, 
 | 
			
		||||
  374, 397, 252, 501, 366, 501, 505, 270, 402, 274, 
 | 
			
		||||
  505, 166, 108, 119, 62, 17, 62, 114, 449, 436, 
 | 
			
		||||
  205, 117, 108, 11, 9, 112, 9, 19, 186, 415, 
 | 
			
		||||
  307, 124, 205, 14, 437, 14, 398, 17, 437, 116, 
 | 
			
		||||
  502, 113, 502, 17, 234, 317, 131, 340, 411, 312, 
 | 
			
		||||
  374, 318, 239, 272, 263, 303, 490, 429, 505, 355, 
 | 
			
		||||
  135, 403, 307, 7, 398, 114, 239, 164, 131, 271, 
 | 
			
		||||
  131, 165, 402, 162, 381, 297, 255, 315, 374, 319, 
 | 
			
		||||
  373, 399, 249, 399, 366, 502, 449, 436, 252, 502, 
 | 
			
		||||
  186, 416, 234, 317, 130, 340, 412, 313, 263, 134, 
 | 
			
		||||
  490, 429, 505, 355, 134, 403, 381, 139
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const uint16_t LCR_carTriangleUvs[] =
 | 
			
		||||
{
 | 
			
		||||
  0, 2, 1, 1, 3, 0, 4, 6, 5, 6, 8, 7, 6, 
 | 
			
		||||
  10, 9, 6, 4, 11, 4, 13, 12, 14, 13, 4, 15, 17, 
 | 
			
		||||
  16, 16, 17, 18, 17, 20, 19, 21, 20, 17, 20, 23, 22, 
 | 
			
		||||
  24, 23, 20, 25, 26, 23, 25, 7, 8, 27, 26, 8, 26, 
 | 
			
		||||
  27, 22, 1, 2, 28, 3, 1, 29, 29, 1, 30, 30, 1, 
 | 
			
		||||
  31, 32, 34, 33, 32, 33, 35, 33, 36, 35, 34, 37, 33, 
 | 
			
		||||
  37, 38, 33, 39, 33, 38, 4, 5, 40, 6, 7, 5, 6, 
 | 
			
		||||
  9, 8, 6, 11, 10, 4, 12, 11, 14, 4, 40, 15, 16, 
 | 
			
		||||
  41, 16, 18, 42, 17, 19, 18, 21, 17, 15, 20, 22, 19, 
 | 
			
		||||
  24, 20, 21, 25, 23, 24, 25, 8, 26, 27, 8, 9, 26, 
 | 
			
		||||
  22, 23, 0, 2, 1, 1, 3, 0, 4, 6, 5, 6, 8, 
 | 
			
		||||
  7, 6, 10, 9, 6, 4, 11, 4, 13, 12, 14, 13, 4, 
 | 
			
		||||
  15, 17, 16, 16, 17, 18, 17, 20, 19, 21, 20, 17, 20, 
 | 
			
		||||
  23, 22, 24, 23, 20, 25, 26, 23, 25, 7, 8, 27, 26, 
 | 
			
		||||
  8, 26, 27, 22, 1, 2, 28, 3, 1, 29, 29, 1, 30, 
 | 
			
		||||
  30, 1, 31, 32, 34, 33, 32, 33, 35, 33, 36, 35, 34, 
 | 
			
		||||
  37, 33, 37, 38, 33, 39, 33, 38, 4, 5, 40, 6, 7, 
 | 
			
		||||
  5, 6, 9, 8, 6, 11, 10, 4, 12, 11, 14, 4, 40, 
 | 
			
		||||
  15, 16, 41, 16, 18, 42, 17, 19, 18, 21, 17, 15, 20, 
 | 
			
		||||
  22, 19, 24, 20, 21, 25, 23, 24, 25, 8, 26, 27, 8, 
 | 
			
		||||
  9, 26, 22, 23, 43, 45, 44, 44, 47, 46, 48, 50, 49, 
 | 
			
		||||
  51, 53, 52, 47, 45, 54, 51, 56, 55, 57, 58, 53, 46, 
 | 
			
		||||
  59, 44, 55, 61, 60, 62, 64, 63, 62, 66, 65, 67, 59, 
 | 
			
		||||
  68, 54, 45, 69, 45, 70, 69, 71, 72, 49, 73, 54, 74, 
 | 
			
		||||
  69, 74, 54, 59, 67, 44, 44, 67, 43, 75, 68, 59, 63, 
 | 
			
		||||
  77, 76, 78, 80, 79, 81, 78, 71, 82, 49, 72, 83, 85, 
 | 
			
		||||
  84, 86, 87, 85, 49, 50, 81, 52, 56, 51, 87, 88, 85, 
 | 
			
		||||
  61, 55, 56, 53, 58, 52, 89, 86, 90, 76, 60, 61, 64, 
 | 
			
		||||
  77, 63, 65, 64, 62, 91, 92, 90, 88, 93, 85, 85, 93, 
 | 
			
		||||
  84, 78, 81, 94, 95, 96, 88, 93, 88, 96, 90, 86, 91, 
 | 
			
		||||
  86, 83, 91, 97, 90, 92, 60, 76, 77, 49, 81, 71, 78, 
 | 
			
		||||
  79, 71, 98, 94, 81, 43, 70, 45, 44, 45, 47, 83, 86, 
 | 
			
		||||
  85, 86, 89, 87, 0, 2, 1, 1, 3, 0, 4, 6, 5, 
 | 
			
		||||
  6, 8, 7, 6, 10, 9, 6, 4, 11, 4, 13, 12, 14, 
 | 
			
		||||
  13, 4, 15, 17, 16, 16, 17, 18, 17, 20, 19, 21, 20, 
 | 
			
		||||
  17, 20, 23, 22, 24, 23, 20, 25, 26, 23, 25, 7, 8, 
 | 
			
		||||
  27, 26, 8, 26, 27, 22, 1, 2, 28, 3, 1, 29, 29, 
 | 
			
		||||
  1, 30, 30, 1, 31, 32, 34, 33, 32, 33, 35, 33, 36, 
 | 
			
		||||
  35, 34, 37, 33, 37, 38, 33, 39, 33, 38, 4, 5, 40, 
 | 
			
		||||
  6, 7, 5, 6, 9, 8, 6, 11, 10, 4, 12, 11, 14, 
 | 
			
		||||
  4, 40, 15, 16, 41, 16, 18, 42, 17, 19, 18, 21, 17, 
 | 
			
		||||
  15, 20, 22, 19, 24, 20, 21, 25, 23, 24, 25, 8, 26, 
 | 
			
		||||
  27, 8, 9, 26, 22, 23, 0, 2, 1, 1, 3, 0, 4, 
 | 
			
		||||
  6, 5, 6, 8, 7, 6, 10, 9, 6, 4, 11, 4, 13, 
 | 
			
		||||
  12, 14, 13, 4, 15, 17, 16, 16, 17, 18, 17, 20, 19, 
 | 
			
		||||
  21, 20, 17, 20, 23, 22, 24, 23, 20, 25, 26, 23, 25, 
 | 
			
		||||
  7, 8, 27, 26, 8, 26, 27, 22, 1, 2, 28, 3, 1, 
 | 
			
		||||
  29, 29, 1, 30, 30, 1, 31, 32, 34, 33, 32, 33, 35, 
 | 
			
		||||
  33, 36, 35, 34, 37, 33, 37, 38, 33, 39, 33, 38, 4, 
 | 
			
		||||
  5, 40, 6, 7, 5, 6, 9, 8, 6, 11, 10, 4, 12, 
 | 
			
		||||
  11, 14, 4, 40, 15, 16, 41, 16, 18, 42, 17, 19, 18, 
 | 
			
		||||
  21, 17, 15, 20, 22, 19, 24, 20, 21, 25, 23, 24, 25, 
 | 
			
		||||
  8, 26, 27, 8, 9, 26, 22, 23
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const uint8_t LCR_carVertexTypes[] =
 | 
			
		||||
{
 | 
			
		||||
  3, 3, 2, 3, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 
 | 
			
		||||
  2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
 | 
			
		||||
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 1, 0, 0, 0, 
 | 
			
		||||
  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 
 | 
			
		||||
  1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
 | 
			
		||||
  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
 | 
			
		||||
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,20 +123,23 @@ int main(void)
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  printf("#define LCR_CAR_VERTEX_COUNT %d\n"
 | 
			
		||||
    "#define LCR_CAR_TRIANGLE_COUNT %d\n\n",vertexCount,triangleCount);
 | 
			
		||||
 | 
			
		||||
  writeArray(vertices,vertexCount * 3,
 | 
			
		||||
    "static const S3L_Unit LCR_carVertices",10);
 | 
			
		||||
    "static const int32_t LCR_carVertices",10);
 | 
			
		||||
 | 
			
		||||
  writeArray(triangles,triangleCount * 3,
 | 
			
		||||
    "static const S3L_Index LCR_carTriangles",13);
 | 
			
		||||
    "static const uint16_t LCR_carTriangles",13);
 | 
			
		||||
 | 
			
		||||
  writeArray(uvs,uvCount * 2,
 | 
			
		||||
    "static const S3L_Index LCR_carUvs",10);
 | 
			
		||||
    "static const uint16_t LCR_carUvs",10);
 | 
			
		||||
 | 
			
		||||
  writeArray(triangleUvs,triangleCount * 3,
 | 
			
		||||
    "static const S3L_Index LCR_carTriangleUvs",13);
 | 
			
		||||
    "static const uint16_t LCR_carTriangleUvs",13);
 | 
			
		||||
 | 
			
		||||
  writeArray(vertexTypes,vertexCount,
 | 
			
		||||
    "static const uint7_t LCR_carVertexTypes",18);
 | 
			
		||||
    "static const uint8_t LCR_carVertexTypes",18);
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										172
									
								
								renderer.h
									
										
									
									
									
								
							
							
						
						
									
										172
									
								
								renderer.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -29,17 +29,18 @@
 | 
			
		|||
#define LCR_RENDERER_CHUNKS_TOTAL (LCR_RENDERER_CHUNK_RESOLUTION * \
 | 
			
		||||
  LCR_RENDERER_CHUNK_RESOLUTION * LCR_RENDERER_CHUNK_RESOLUTION)
 | 
			
		||||
 | 
			
		||||
#define LCR_RENDERER_MODEL_COUNT 8
 | 
			
		||||
#define LCR_RENDERER_MODEL_COUNT 9
 | 
			
		||||
 | 
			
		||||
struct
 | 
			
		||||
{
 | 
			
		||||
  S3L_Scene scene;
 | 
			
		||||
 | 
			
		||||
  S3L_Model3D mapModel; ///< whole map model
 | 
			
		||||
    
 | 
			
		||||
  S3L_Model3D *carModel;  
 | 
			
		||||
  
 | 
			
		||||
  /**
 | 
			
		||||
    The scene model array.
 | 
			
		||||
    0, 1, 2, 3, 4, 5, 6, 7: nearest map chunk models
 | 
			
		||||
    8:                      car model
 | 
			
		||||
  */
 | 
			
		||||
  S3L_Model3D models[LCR_RENDERER_MODEL_COUNT];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -69,84 +70,102 @@ struct
 | 
			
		|||
  uint8_t texSubsampleCount;
 | 
			
		||||
} LCR_renderer;
 | 
			
		||||
 | 
			
		||||
uint16_t ccc;
 | 
			
		||||
int cnt = 0;
 | 
			
		||||
 | 
			
		||||
void LCR_pixelFunc3D(S3L_PixelInfo *pixel)
 | 
			
		||||
{
 | 
			
		||||
  // once we get a new triangle, we precompute things for it:
 | 
			
		||||
  if (pixel->triangleIndex != LCR_renderer.previousTriID)
 | 
			
		||||
  if (pixel->triangleID != LCR_renderer.previousTriID)
 | 
			
		||||
  {
 | 
			
		||||
    const S3L_Index *t = 
 | 
			
		||||
      LCR_renderer.models[pixel->modelIndex].triangles +
 | 
			
		||||
        3 * pixel->triangleIndex;
 | 
			
		||||
    S3L_Unit *v[3];
 | 
			
		||||
    LCR_renderer.previousTriID = pixel->triangleID;
 | 
			
		||||
 | 
			
		||||
#if LCR_SETTING_TEXTURE_SUBSAMPLE != 0
 | 
			
		||||
    LCR_renderer.texSubsampleCount = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    for (int i = 0; i < 3; ++i)
 | 
			
		||||
      v[i] = LCR_renderer.mapVerts + 3 * t[i];
 | 
			
		||||
 | 
			
		||||
    const uint8_t *triData =
 | 
			
		||||
      LCR_renderer.mapTriangleData +
 | 
			
		||||
        LCR_renderer.chunkStarts[LCR_renderer.loadedChunks[
 | 
			
		||||
          pixel->modelIndex]];
 | 
			
		||||
 | 
			
		||||
    uint8_t type = triData[pixel->triangleIndex] >> 4;
 | 
			
		||||
 | 
			
		||||
    LCR_loadImage(triData[pixel->triangleIndex] & 0x0f);
 | 
			
		||||
 | 
			
		||||
    if (type == 0) // floor?
 | 
			
		||||
    if (pixel->modelIndex == 8)
 | 
			
		||||
    {
 | 
			
		||||
      if (v[0][1] != v[1][1] || v[1][1] != v[2][1]) // angled floor?
 | 
			
		||||
        LCR_imageChangeBrightness(1);
 | 
			
		||||
      // car model
 | 
			
		||||
 | 
			
		||||
      for (int i = 0; i < 6; ++i)
 | 
			
		||||
        LCR_renderer.triUVs[i] = ((
 | 
			
		||||
          (v[i / 2][(i % 2) * 2]) *
 | 
			
		||||
            LCR_IMAGE_SIZE) / LCR_RENDERER_UNIT);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      if (type == 1)
 | 
			
		||||
        LCR_imageChangeBrightness(0);
 | 
			
		||||
      LCR_loadImage(LCR_IMAGE_CAR);
 | 
			
		||||
 | 
			
		||||
      for (int i = 0; i < 6; ++i)
 | 
			
		||||
      {
 | 
			
		||||
        LCR_renderer.triUVs[i] = ((
 | 
			
		||||
          (v[i / 2][i % 2 ? 1 : (type == 1 ? 2 : 0)]) *
 | 
			
		||||
            LCR_IMAGE_SIZE) / LCR_RENDERER_UNIT);
 | 
			
		||||
        LCR_renderer.triUVs[i] =
 | 
			
		||||
          (LCR_carUvs[2 * LCR_carTriangleUvs[
 | 
			
		||||
            3 * pixel->triangleIndex + i / 2] + i % 2] * LCR_IMAGE_SIZE) / 512;
 | 
			
		||||
 | 
			
		||||
        if (i % 2)
 | 
			
		||||
          LCR_renderer.triUVs[i] = LCR_IMAGE_SIZE -
 | 
			
		||||
          LCR_renderer.triUVs[i] = 64 -
 | 
			
		||||
            LCR_renderer.triUVs[i];
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // shift the UVs to the origin (prevent high values of UV coords)
 | 
			
		||||
    for (int i = 0; i < 2; ++i)
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      uint8_t minCoord = LCR_renderer.triUVs[i] <
 | 
			
		||||
        LCR_renderer.triUVs[2 + i] ? (0 + i) : (2 + i);
 | 
			
		||||
      // map model
 | 
			
		||||
      const S3L_Index *t = 
 | 
			
		||||
        LCR_renderer.models[pixel->modelIndex].triangles +
 | 
			
		||||
          3 * pixel->triangleIndex;
 | 
			
		||||
      S3L_Unit *v[3];
 | 
			
		||||
 | 
			
		||||
      if (LCR_renderer.triUVs[4 + i] < LCR_renderer.triUVs[minCoord])
 | 
			
		||||
        minCoord = 4 + i;
 | 
			
		||||
#if LCR_SETTING_TEXTURE_SUBSAMPLE != 0
 | 
			
		||||
      LCR_renderer.texSubsampleCount = 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
      S3L_Unit shiftBy = LCR_renderer.triUVs[minCoord] % LCR_IMAGE_SIZE;
 | 
			
		||||
      for (int i = 0; i < 3; ++i)
 | 
			
		||||
        v[i] = LCR_renderer.mapVerts + 3 * t[i];
 | 
			
		||||
 | 
			
		||||
      if (shiftBy < 0)
 | 
			
		||||
        shiftBy += LCR_IMAGE_SIZE;
 | 
			
		||||
      const uint8_t *triData =
 | 
			
		||||
        LCR_renderer.mapTriangleData +
 | 
			
		||||
          LCR_renderer.chunkStarts[LCR_renderer.loadedChunks[
 | 
			
		||||
            pixel->modelIndex]];
 | 
			
		||||
 | 
			
		||||
      shiftBy -= LCR_renderer.triUVs[minCoord];
 | 
			
		||||
      uint8_t type = triData[pixel->triangleIndex] >> 4;
 | 
			
		||||
 | 
			
		||||
      LCR_renderer.triUVs[i] += shiftBy;
 | 
			
		||||
      LCR_renderer.triUVs[2 + i] += shiftBy;
 | 
			
		||||
      LCR_renderer.triUVs[4 + i] += shiftBy;
 | 
			
		||||
      LCR_loadImage(triData[pixel->triangleIndex] & 0x0f);
 | 
			
		||||
 | 
			
		||||
      if (type == 0) // floor?
 | 
			
		||||
      {
 | 
			
		||||
        if (v[0][1] != v[1][1] || v[1][1] != v[2][1]) // angled floor?
 | 
			
		||||
          LCR_imageChangeBrightness(1);
 | 
			
		||||
 | 
			
		||||
        for (int i = 0; i < 6; ++i)
 | 
			
		||||
          LCR_renderer.triUVs[i] = ((
 | 
			
		||||
            (v[i / 2][(i % 2) * 2]) *
 | 
			
		||||
              LCR_IMAGE_SIZE) / LCR_RENDERER_UNIT);
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        if (type == 1)
 | 
			
		||||
          LCR_imageChangeBrightness(0);
 | 
			
		||||
 | 
			
		||||
        for (int i = 0; i < 6; ++i)
 | 
			
		||||
        {
 | 
			
		||||
          LCR_renderer.triUVs[i] = ((
 | 
			
		||||
            (v[i / 2][i % 2 ? 1 : (type == 1 ? 2 : 0)]) *
 | 
			
		||||
              LCR_IMAGE_SIZE) / LCR_RENDERER_UNIT);
 | 
			
		||||
 | 
			
		||||
          if (i % 2)
 | 
			
		||||
            LCR_renderer.triUVs[i] = LCR_IMAGE_SIZE -
 | 
			
		||||
              LCR_renderer.triUVs[i];
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // shift the UVs to the origin (prevent high values of UV coords)
 | 
			
		||||
      for (int i = 0; i < 2; ++i)
 | 
			
		||||
      {
 | 
			
		||||
        uint8_t minCoord = LCR_renderer.triUVs[i] <
 | 
			
		||||
          LCR_renderer.triUVs[2 + i] ? (0 + i) : (2 + i);
 | 
			
		||||
 | 
			
		||||
        if (LCR_renderer.triUVs[4 + i] < LCR_renderer.triUVs[minCoord])
 | 
			
		||||
          minCoord = 4 + i;
 | 
			
		||||
 | 
			
		||||
        S3L_Unit shiftBy = LCR_renderer.triUVs[minCoord] % LCR_IMAGE_SIZE;
 | 
			
		||||
 | 
			
		||||
        if (shiftBy < 0)
 | 
			
		||||
          shiftBy += LCR_IMAGE_SIZE;
 | 
			
		||||
 | 
			
		||||
        shiftBy -= LCR_renderer.triUVs[minCoord];
 | 
			
		||||
 | 
			
		||||
        LCR_renderer.triUVs[i] += shiftBy;
 | 
			
		||||
        LCR_renderer.triUVs[2 + i] += shiftBy;
 | 
			
		||||
        LCR_renderer.triUVs[4 + i] += shiftBy;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LCR_renderer.previousTriID = pixel->triangleIndex;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  uint16_t color;
 | 
			
		||||
| 
						 | 
				
			
			@ -701,9 +720,26 @@ uint8_t LCR_rendererInit(void)
 | 
			
		|||
    return 0;
 | 
			
		||||
 | 
			
		||||
  _LCR_makeMapChunks();
 | 
			
		||||
 | 
			
		||||
  _LCR_rendererComputeLOD();
 | 
			
		||||
 | 
			
		||||
  LCR_renderer.carModel = LCR_renderer.models + 8;
 | 
			
		||||
 | 
			
		||||
  S3L_model3DInit(
 | 
			
		||||
    LCR_carVertices,LCR_CAR_VERTEX_COUNT,
 | 
			
		||||
    LCR_carTriangles,LCR_CAR_TRIANGLE_COUNT,
 | 
			
		||||
    LCR_renderer.carModel);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.translation.x -= 2 * LCR_RENDERER_UNIT;
 | 
			
		||||
LCR_renderer.carModel->transform.scale.x = LCR_RENDERER_UNIT / 3;
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.scale.y =
 | 
			
		||||
  LCR_renderer.carModel->transform.scale.x;
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.scale.z =
 | 
			
		||||
  LCR_renderer.carModel->transform.scale.x;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  S3L_sceneInit(
 | 
			
		||||
    LCR_renderer.models,LCR_RENDERER_MODEL_COUNT,&LCR_renderer.scene);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1140,6 +1176,22 @@ void LCR_rendererDraw(void)
 | 
			
		|||
  LCR_drawLevelFloor();
 | 
			
		||||
  LCR_rendererDrawLOD();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.translation =
 | 
			
		||||
  LCR_renderer.scene.camera.transform.translation;
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.translation.x +=
 | 
			
		||||
  LCR_RENDERER_UNIT * 2;
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.translation.z -=
 | 
			
		||||
  LCR_RENDERER_UNIT * 1;
 | 
			
		||||
 | 
			
		||||
LCR_renderer.carModel->transform.translation.y -=
 | 
			
		||||
  LCR_RENDERER_UNIT * 2;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  S3L_drawScene(LCR_renderer.scene);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue