#include "imgs\icons.txt"
dword Put_icon(dword extension, yy)
{ 
	dword ftype="", fnum=0; //åøè íåèçâåñíûé ôàéë

	IF (!strcmp(extension,"htm")) || (!strcmp(extension,"html")) ||
	   (!strcmp(extension,"mht")) {fnum = 2; ftype="Web-page";}
	IF (!strcmp(extension,"ini")) || (!strcmp(extension,"conf")) {fnum = 3; ftype="Config";}
	IF (!strcmp(extension,"xlt")) || (!strcmp(extension,"xls")) ||
		(!strcmp(extension,"ods")) || (!strcmp(extension,"xlsx")) {fnum = 4; ftype="Table";}
	IF (!strcmp(extension,"cmd")) || (!strcmp(extension,"bat")) || (!strcmp(extension,"sh")) {fnum = 5; ftype="Script";}
	IF (!strcmp(extension,"com")) {fnum = 5; ftype="DOS Exec";}
	IF (!strcmp(extension,"kex")) {fnum = 6; ftype="Program";}
	IF (!strcmp(extension,"exe")) || (!strcmp(extension,"msi")) {fnum = 7; ftype="Win32 Exec";}
	IF (!strcmp(extension,"sys")) || (!strcmp(extension,"ocx")) ||
       (!strcmp(extension,"drv")) || (!strcmp(extension,"so")) fnum = 8;
	IF (!strcmp(extension,"inc"))  fnum = 9;
	IF (!strcmp(extension,"chr")) || (!strcmp(extension,"mt")) ||
	   (!strcmp(extension,"ttf")) || (!strcmp(extension,"fon")) {fnum = 10; ftype="Font";}
	IF (!strcmp(extension,"asm")) {fnum = 11; ftype="Source";}
	IF (!strcmp(extension,"skn")) {fnum = 13; ftype="Skin";}
	IF (!strcmp(extension,"djvu")) || (!strcmp(extension,"pdf")) {fnum = 15; ftype="Book";}
	IF (!strcmp(extension,"nes")) {fnum = 18; ftype="Cartridge";}
	IF (!strcmp(extension,"img")) || (!strcmp(extension,"ima")) {fnum = 21; ftype="Image";}
	IF (!strcmp(extension,"dll")) || (!strcmp(extension,"obj")) {fnum = 22; ftype="Library";}
	IF (!strcmp(extension,"iso")) || (!strcmp(extension,"cue")) ||
	   (!strcmp(extension,"nrg")) || (!strcmp(extension,"mdf")) {fnum = 24; ftype="Disc image";}
	
	//text
	IF (!strcmp(extension,"txt")) || (!strcmp(extension,"doc")) ||
	   (!strcmp(extension,"rtf")) || (!strcmp(extension,"odt")) ||
	   (!strcmp(extension,"log")) || (!strcmp(extension,"docx")) {fnum = 1; ftype="Text";}
	//èçîáðàæåíèÿ
	IF (!strcmp(extension,"gif")) || (!strcmp(extension,"bmp")) ||
	   (!strcmp(extension,"tga")) || (!strcmp(extension,"pcx")) ||
	   (!strcmp(extension,"png")) || (!strcmp(extension,"jpg")) {fnum = 19; ftype="Image";}
	IF (!strcmp(extension,"xcf")) || (!strcmp(extension,"ai")) ||
	   (!strcmp(extension,"jpeg")) || (!strcmp(extension,"raw")) ||
	   (!strcmp(extension,"psd")) {fnum = 19; ftype="Image";}
	//ïèêòîãðàììû
	IF (!strcmp(extension,"ico")) {fnum = 20; ftype="Icon";}
	IF (!strcmp(extension,"cur")) || (!strcmp(extension,"ani")) {fnum = 20; ftype="Cursor";}
	//àðõèâû
	IF (!strcmp(extension,"rar")) || (!strcmp(extension,"zip")) ||
	   (!strcmp(extension,"cab")) || (!strcmp(extension,"tar")) ||
	   (!strcmp(extension,"ajr")) || (!strcmp(extension,"jar")) || 
	   (!strcmp(extension,"7z")) ||(!strcmp(extension,"gz")) {fnum = 23; ftype="Archive";}
	//audio
	IF (!strcmp(extension,"mp3")) {fnum = 12; ftype="Music";}
	IF (!strcmp(extension,"wav")) || (!strcmp(extension,"mid")) ||
	   (!strcmp(extension,"midi")) || (!strcmp(extension,"ogg")) ||
	   (!strcmp(extension,"wma"))  || (!strcmp(extension,"flac")) {fnum = 12; ftype="Audio";}
	//video
	IF (!strcmp(extension,"avi")) || (!strcmp(extension,"flv")) ||
	   (!strcmp(extension,"mpg")) || (!strcmp(extension,"wmv")) ||
	   (!strcmp(extension,"mov")) || (!strcmp(extension,"mkv")) ||
	   (!strcmp(extension,"mp4")) || (!strcmp(extension,"vob")) {fnum = 14; ftype="Video";}	
	//ïàïêè
	IF (!strcmp(extension,"<DIR>"))	{ fnum=16;  WriteText(onLeft(145,0),yy+4,0x80,0,extension,0);}
	IF (!strcmp(extension,"..")) fnum=17;
	//
	PutPaletteImage(fnum*16*15+#ficons,16,15,195,yy,#ficons_pal);
	WriteText(onLeft(160,0),yy+4,0x80,0,ftype,0);
	return fnum;
}



void IconFairing(int filenum, y)
{
	switch(filenum)
	{
		case 0...1: //ôàéëèê
			DrawBar(195,y,2,15,videlenie);
			RIGHT_PAINT:
			DrawBar(209,y,2,15,videlenie);
			DrawBar(205,y,4,1,videlenie);
			DrawBar(206,y+1,3,1,videlenie);
			DrawBar(207,y+2,2,1,videlenie);
			PutPixel(208,y+3,videlenie);
			return;
		case 2: //html
			DrawBar(195,y,1,7,videlenie);
			DrawBar(196,y,1,6,videlenie);
			DrawBar(195,y+10,1,5,videlenie);
			DrawBar(196,y+11,1,4,videlenie);
			GOTO RIGHT_PAINT;
		case 3: //íàñòðîéêè
			DrawBar(195,y,2,7,videlenie);
			DrawBar(195,y+7,1,2,videlenie);
			DrawBar(195,y+12,1,3,videlenie);
			PutPixel(196,y+14,videlenie);
			GOTO RIGHT_PAINT;
		case 9: //inc
			DrawBar(195,y,1,12,videlenie);
			DrawBar(196,y,1,11,videlenie);
			DrawBar(197,y,1,10,videlenie);
			DrawBar(198,y,1,5,videlenie);
			DrawBar(199,y,1,4,videlenie);
			DrawBar(200,y,1,3,videlenie);
			DrawBar(201,y,1,2,videlenie);
			DrawBar(202,y,1,3,videlenie);
			DrawBar(203,y,1,2,videlenie);
			PutPixel(204,y,videlenie);
			PutPixel(205,y+4,videlenie);
			PutPixel(206,y+3,videlenie);
			PutPixel(207,y,videlenie);
			PutPixel(207,y+2,videlenie);
			DrawBar(208,y,1,3,videlenie);
			DrawBar(209,y,2,4,videlenie);
			DrawBar(210,y,1,15,videlenie);
			PutPixel(198,y+14,videlenie);
			DrawBar(199,y+13,1,2,videlenie);
			DrawBar(200,y+12,10,3,videlenie);
			PutPixel(205,y+11,videlenie);
			DrawBar(206,y+10,1,2,videlenie);
			DrawBar(207,y+9,1,3,videlenie);
			PutPixel(207,y+7,videlenie);
			DrawBar(208,y+6,2,7,videlenie);
			PutPixel(209,y+5,videlenie);
			return;
		case 10: //font
			DrawRegion_3D(195,y,15,14,videlenie,videlenie);
			DrawBar(196,y+1,1,13,videlenie);
			DrawBar(197,y+1,1,11,videlenie);
			DrawBar(198,y+1,1,10,videlenie);
			DrawBar(199,y+1,1,9,videlenie);
			DrawBar(200,y+1,1,7,videlenie);
			DrawBar(201,y+1,1,5,videlenie);
			DrawBar(202,y+1,1,4,videlenie);
			DrawBar(203,y+1,1,2,videlenie);
			DrawBar(209,y+1,1,13,videlenie);
			DrawBar(208,y+1,1,11,videlenie);
			PutPixel(204,y+6,videlenie);
			DrawBar(203,y+10,2,1,videlenie);
			DrawBar(202,y+11,2,3,videlenie);
			return;
		case 11: //asm
			DrawBar(195,y,1,15,videlenie);
			return;
		case 12: //audio
			DrawBar(195,y,16,1,videlenie);
			DrawBar(195,y,1,15,videlenie);
			DrawBar(196,y+1,4,8,videlenie);
			DrawBar(196,y+9,1,2,videlenie);
			PutPixel(197,y+9,videlenie);
			PutPixel(196,y+14,videlenie);
			DrawBar(210,y+1,1,14,videlenie);
			DrawBar(202,y+4,6,4,videlenie);
			DrawBar(202,y+8,4,1,videlenie);
			DrawBar(202,y+9,3,1,videlenie);
			DrawBar(202,y+10,2,3,videlenie);
			DrawBar(201,y+13,4,1,videlenie);
			DrawBar(200,y+14,14,1,videlenie);
			DrawBar(209,y+12,1,2,videlenie);
			PutPixel(208,y+13,videlenie);
			return;
		case 13: //skin
			PutPixel(210,y,videlenie); 
			return;
		case 14...15: //video, book
			DrawBar(195,y,1,15,videlenie);
			DrawBar(210,y,1,15,videlenie);
			return;
		case 16...17: //ïàïêà
			DrawBar(195,y,1,15,videlenie);
			DrawBar(203,y,8,2,videlenie);
			IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //çåë¸íàÿ òî÷êà ñòðåëêè
			DrawBar(196,y+13,15,2,videlenie);
			PutPixel(196,y,videlenie); //.òî÷êè
			PutPixel(202,y,videlenie);
			PutPixel(210,y+2,videlenie);
			PutPixel(196,y+12,videlenie);
			PutPixel(210,y+12,videlenie);
			return;
		case 18: //êàðòðèäæ
			DrawBar(195,y,16,2,videlenie);
			DrawBar(195,y+11,1,2,videlenie);
			DrawBar(210,y+11,1,2,videlenie);
			DrawBar(195,y+13,16,2,videlenie);
			return;
		case 19: //èçîáðàæåíèå
		case 20: //èçîáðàæåíèå
			DrawBar(195,y+14,16,1,videlenie);
			return;
		case 21: //äèñêåòà
			PutPixel(195,y,videlenie);
			PutPixel(210,y,videlenie);
			return;
		case 22: //áèáëèîòåêà
			DrawBar(195,y,16,1,videlenie); //ñâåðõó ñëåâà
			DrawBar(195,y+1,3,1,videlenie);
			DrawBar(195,y+2,2,1,videlenie);
			PutPixel(195,y+3,videlenie);
			PutPixel(210,y+11,videlenie); //ñïðàâà ñïðàâà
			DrawBar(209,y+12,2,1,videlenie); 
			DrawBar(208,y+13,3,1,videlenie);
			DrawBar(207,y+14,4,1,videlenie);
			return;
		case 23: //àðõèâ
			PutPixel(195,y+3,videlenie);
			PutPixel(195,y+11,videlenie);
			PutPixel(210,y+3,videlenie);
			PutPixel(210,y+11,videlenie);

			DrawBar(195,y,7,1,videlenie);
			DrawBar(204,y,7,1,videlenie);
			DrawBar(195,y+14,7,1,videlenie);
			DrawBar(204,y+14,7,1,videlenie);

			DrawBar(195,y+1,5,1,videlenie);
			DrawBar(206,y+1,5,1,videlenie);
			DrawBar(195,y+13,5,1,videlenie);
			DrawBar(206,y+13,5,1,videlenie);

			DrawBar(195,y+2,3,1,videlenie);
			DrawBar(208,y+2,3,1,videlenie);
			DrawBar(195,y+12,3,1,videlenie);
			DrawBar(208,y+12,3,1,videlenie);
			return;
		case 24: //îáðàç
			DrawBar(195,y,6,1,videlenie);
			DrawBar(195,y+1,4,1,videlenie);
			DrawBar(195,y+2,3,1,videlenie);
			DrawBar(195,y+3,2,2,videlenie);
			
			DrawBar(195,y+5,1,5,videlenie);
			
			DrawBar(195,y+10,2,2,videlenie);
			DrawBar(195,y+12,3,1,videlenie);
			DrawBar(195,y+13,4,1,videlenie);
			DrawBar(195,y+14,6,1,videlenie);			

			
			DrawBar(195+11,y,5,1,videlenie);
			DrawBar(195+13,y+1,3,1,videlenie);
			DrawBar(195+14,y+2,2,1,videlenie);
			DrawBar(195+15,y+3,1,2,videlenie);
			
			DrawBar(195+15,y+10,1,2,videlenie);
			DrawBar(195+14,y+12,2,1,videlenie);
			DrawBar(195+13,y+13,3,1,videlenie);
			DrawBar(195+11,y+14,5,1,videlenie);			

			return;
	}
}