-- Boo!
-- I hope this is gonna work out well!

sin=math.sin
cos=math.cos
abs=math.abs

function q(x1,y1,x2,y2,x3,y3,x4,y4,col)
 tri(x1,y1,x2,y2,x3,y3,col)
 tri(x2,y2,x3,y3,x4,y4,col) 
end

function ear1(tim)
 a=sin(tim/40)
 q(134+a*3,8+a*2,  156+a*3,19+a*2, 122,16, 148,34, 15)
 q(163+a*5,-4+a*3, 164+a*5,3+a*3, 134+a*3,8+a*2,  156+a*3,19+a*2, 15)
 q(136+a*3,9+a*2,  152+a*3,17+a*2, 125,18, 141,29, 0)
 q(158+a*5,0+a*3, 162+a*5,1+a*3, 136+a*3,9+a*2,  152+a*3,17+a*2, 0)  
end

function ear2(tim)
 a=sin(tim/40)
 q(76+a*3,7+a*2,   79+a*3,7+a*2,   76,36,  80,34,  15) 
 q(79+a*3,7+a*2,   88+a*3,7+a*2,   80,34,  88,38,  0)  
 q(88+a*3,7+a*2,   96+a*3,6+a*2,   88,38,  101,30, 0)   
 q(96+a*3,6+a*2,   100+a*3,2+a*2,  101,30, 107,18, 15)   
 q(76+a*3,7+a*2,   79+a*3,7+a*2,   75+a*5,-14+a*3, 76+a*5,-14+a*3, 15) 
 q(79+a*3,7+a*2,   88+a*3,7+a*2,   76+a*5,-14+a*3, 77+a*5,-16+a*3, 0)  
 q(88+a*3,7+a*2,   96+a*3,6+a*2,   77+a*5,-16+a*3, 79+a*5,-16+a*3, 0)   
 q(96+a*3,6+a*2,   100+a*3,2+a*2,  79+a*5,-16+a*3, 89+a*5,-13+a*3, 15)  
end


function body(tim)
 a=abs(sin(tim/30))
 q(63,77,  110,97, 60,94,  106,108, 0) 
 q(60,94,  106,108,53,108, 112,119, 0)
 q(53,108, 112+a*2,119-a*1.5,36,122-a*2, 112,136, 0)
 q(17-a*3,128-a*2, 36,122-a*2, 10-a*3,136, 112,136, 0)
 q(112+a*2,119-a*1.5,136+a*3,128-a*2,112,136,146+a*3,136, 0)
 q(77-a*1.5,123, 75-a*1.5,98, 80+a*1.5,125, 84+a*1.5,124, 15)
 q(88-a*1.5,124, 96,122-a*1.5, 94+a*2,117-a*1.5, 98,107-a*1.5, 15)
 q(98,107-a*1.5, 96,122-a*1.5, 100-a*2,118-a*1.5, 108+a*2,122-a*1.5, 15)
 q(44,125-a*1.5,  62,127-a*1.5, 38,128-a*1.5, 45,129-a*1.5, 15)
end

function antlers()
 q(70,16,  78,13,  81,32,  90,24,  14)
 q(69,12,  77,11,  70,16,  78,13,  14)
 q(69,12,  77,11,  67,8,   75,6,   14) 
 q(67,8,   75,6,   63,0,   72,0,   14)
 q(50,8,   69,12,  50,12,  70,16,  15)
 q(51,4,   67,8,   50,8,   69,12,  14) 
 q(39,5,   50,8,   38,9,   50,12,  15)
 q(40,1,   51,4,   39,5,   50,8,   14) 
 q(32,5,   39,5,   32,9,   38,9,   15)
 q(31,2,   40,1,   32,5,   39,5,   14) 
 q(29,0,   39,0,   31,2,   40,1,   14)  
 q(22,7,   32,5,   23,10,  32,9,   15)
 q(21,3,   31,2,   22,7,   32,5,   14) 
 q(11,9,   22,7,   11,12,  23,10,  15)  
 q(12,5,   21,3,   11,9,   22,7,   14)   
 q(0,3,    11,9,   0,8,    11,12,  15)   
 q(0,-3,   12,5,   0,3,    11,9,   14)
 q(118,7,  126,8,  117,16, 125,18, 14)
 q(118,4,  126,5,  118,7,  126,8,  13)
 q(117,2,  125,2,  118,4,  126,5,  13)   
 q(116,0,  124,0,  117,2,  125,2,  13)  
 q(125,2,  128,0,  126,5,  130,4,  13) 
 q(128,0,  133,0,  130,4,  135,3,  13)  
 q(126,5,  130,4,  126,8,  132,7,  14)
 q(130,4,  135,3,  132,7,  136,6,  14)
 q(135,3,  146,0,  136,6,  143,3,  14)
 q(133,0,  146,0,  135,3,  142,0,  13)
end 


function insidejaw()
-- inside
 q(106,68, 115,64, 107,73, 119,70, 0)
 q(107,73, 119,70, 107,84, 130,80, 0)
 q(107,84, 130,80, 136,109,160,107,0)
 q(136,109,160,107,143,121,162,124,0)
 q(111,86, 136,106,110,87, 135,108,15)
 q(113,82, 135,102,111,86, 134,105,13)
 q(116,81, 138,101,113,82, 135,102,14)
 q(135,102,138,101,134,105,136,106,14)
 q(141,115,147,118,140,117,147,120,15)
 q(145,113,149,114,141,115,147,118,14)
 q(149,108,151,109,145,113,149,114,13)
 q(148,120,161,122,150,118,163,119,15)
 q(150,118,163,119,151,115,165,117,13) 
end

function jaw()
-- dark
 q(101,63, 105,64, 97,84,  103,85, 14) 
 q( 97,84, 103,85, 96,93,  120,101,14) 
 q( 96,93, 120,101,111,102,133,111,14)
 q(111,102,133,111,128,117,137,116,14)
 q(111,102,133,111,128,117,137,116,14)
 q(128,117,137,116,136,123,141,119,14)
 q(141,119,146,122,136,123,145,127,14)
 q(136,123,145,127,145,129,154,128,14)
-- medium
 q(105,64, 108,66, 103,85, 107,84, 13)
 q(103,85, 107,84, 120,101,123,98, 13) 
 q(120,101,123,98, 133,111,136,109,13)
 q(133,111,136,109,137,116,141,116,13)
 q(137,116,141,116,141,119,145,119,13)
 q(141,119,145,119,146,122,150,120,13)
 q(150,120,159,122,146,122,156,125,13) 
 q(146,122,156,125,145,127,154,128,13) 
-- light
 q(159,122,162,122,156,125,159,125,12)
 q(156,125,159,125,154,128,156,128,12)
end

function head()
 --Teeth
 q(114,77, 137,97, 114,81, 135,101,13)
 q(137,97, 140,97, 135,101,138,100,14)
 q(143,101,148,105,142,103,147,107,15)
 q(142,103,147,107,141,106,145,109,14)
 q(141,106,145,109,140,112,141,113,13)
 q(153,110,170,112,152,113,166,115,0)
 q(153,113,170,113,152,114,166,116,13)
 --Ultradark
 q(73,36,  105,15, 75,44,  89,38,  15)
 q(65,49,  73,36,  68,52,  75,44,  15)
 q(65,49,  68,52,  64,62,  68,64,  15)
 q(64,62,  68,64,  64,73,  68,73,  15)
 q(64,73,  68,73,  65,79,  71,79,  15)
 q(65,79,  71,79,  75,85,  76,85,  15)
 q(101,64, 108,63, 95,74,  102,78, 15)   
 q(95,74,  102,78, 84,87,  98,94,  15)    
 --Dark
 q(76,85,  95,74,  80,86,  84,87,  14)
 q(89,38,  105,15, 85,55,  101,32, 14)
 q(75,44,  89,38,  68,52,  85,55,  14)
 q(68,52,  85,55,  68,64,  87,62,  14)
 q(68,73,  95,74,  68,52,  85,55,  14)
 q(68,73,  95,74,  71,79,  76,85,  14)
 q(110,59, 114,62, 108,62, 111,74, 14)
 q(106,44, 115,51, 104,56, 114,62, 14)
 q(106,34, 118,35, 106,44, 115,51, 14)
 q(118,35, 127,38, 115,51, 133,40, 14)
 q(130,40, 137,44, 115,51, 137,51, 14)
 q(114,62, 136,58, 115,51, 137,51, 14)
 q(114,62, 120,73, 111,74, 115,78, 14)
 q(120,73, 130,77, 115,78, 122,85, 14)
 q(122,85, 130,77, 130,92, 135,89, 14) 
 q(130,92, 135,89, 144,103,150,102,14)  
 q(144,103,150,102,148,107,153,107,14)   
 q(148,107,153,107,153,111,159,112,14)
 --Medium
 q(87,62,  104,56, 95,74,  101,64, 13)
 q(104,56, 110,59, 101,64, 108,63, 13)
 q(101,32, 106,34, 85,55,  106,44, 13)
 q(85,55,  106,44, 87,62,  104,56, 13)
 q(105,15, 116,14, 101,32, 106,34, 13) 
 q(116,14, 133,24, 106,34, 118,35, 13)
 q(133,24, 138,32, 118,35, 127,38, 13)
 q(127,38, 138,32, 134,37, 143,39, 13)
 q(127,38, 134,37, 130,40, 135,40, 13)
 q(130,40, 135,40, 137,44, 140,42, 13)
 q(146,45, 148,41, 148,51, 151,46, 13)
 q(137,51, 140,51, 136,58, 139,58, 13)
 q(137,44, 141,45, 137,51, 140,51, 13)
 q(140,42, 143,39, 137,44, 141,45, 13)
 q(136,58, 139,58, 114,62, 139,61, 13)
 q(114,62, 139,61, 120,73, 143,68, 13)
 q(120,73, 143,68, 130,77, 153,77, 13)
 q(130,77, 153,77, 135,89, 161,94, 13) 
 q(135,89, 161,94, 150,102,170,103,13)  
 q(150,102,170,103,153,107,169,107,13)   
 q(153,107,169,107,159,112,167,112,13)    
-- Bright
 q(116,14, 123,15, 133,24, 138,21, 12)
 q(133,24, 138,21, 138,32, 146,28, 12)
 q(138,32, 146,28, 143,39, 148,41, 12)
 q(146,28, 152,35, 148,41, 157,42, 12)
 q(134,37, 143,39, 135,40, 140,42, 12)
 q(148,41, 157,42, 151,46, 156,46, 12) 
 q(143,39, 148,41, 141,45, 146,45, 12)
 q(141,45, 146,45, 140,51, 148,51, 12) 

 q(139,58, 149,58, 139,61, 155,59, 12)
 q(140,51, 148,51, 139,58, 149,58, 12)
 q(139,61, 155,59, 143,68, 157,66, 12)
 q(143,68, 157,66, 153,77, 162,73, 12)
 q(153,77, 162,73, 161,94, 175,91, 12) 
 q(153,77, 162,73, 161,94, 175,91, 12) 
 q(161,94, 175,91, 170,103,177,98, 12)  
 q(170,103,177,98, 169,107,174,106,12)   
 q(169,107,174,106,167,112,170,112,12)    
 
-- Nosehole
 q(164,90, 170,90, 160,93, 165,101, 0) 
 q(170,90, 172,95, 165,101,174,99,  0) 
 q(165,101,174,99, 168,107,169,108 ,0)
 q(168,107,169,108,167,112,168,112 ,0) 
 q(170,90, 174,91, 172,95, 174,99, 15) 
end
  
function eyes(tim)  
 q(150,46, 156,46, 148,51, 155,51, 0)
 q(148,51, 155,51, 149,58, 155,59, 0)
 q(149,58, 155,59, 152,61, 156,61, 0)
 
 q(110,40, 116,38, 109,49, 111,54, 0)
 q(116,38, 124,39, 111,54, 118,60, 0)
 q(124,39, 131,43, 118,60, 130,59, 0)
 q(131,43, 133,48, 130,59, 133,55, 0)
 
 circ(120+6*sin(t/20),50+2*sin(t/20),2,3)
 circ(120+6*sin(t/20),50+2*sin(t/20),1,4) 
 elli(152+1.5*sin(t/20),54+sin(t/20),2-sin(t/20),2,3)  
 elli(152+1.5*sin(t/20),54+sin(t/20),1,1,4) 
end  
  
function TIC()
 t=time()/60
 cls(8)
 ear1(t)
 body(t)
 antlers()
 insidejaw()
 head()
 ear2(t)
 jaw()
 eyes(t)
end

