UBERNESS

Untitled

Jun 18th, 2011
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.39 KB | None | 0 0
  1. -- Mniip's Lua text drawing system --
  2. -- Interface:
  3. --
  4. -- mniipstext.drawletter(letter,x,y,type of particle)
  5. -- draws 1 lettter
  6. -- returns letter width
  7. -- understands only lowercase
  8. --
  9. -- mniipstext.drawln(line,x,y,type of particle)
  10. -- draws line of letters
  11. -- returns line length
  12. --
  13. -- TODO --
  14. --
  15. -- more sysmbols: `-=~!#$%^&*()_+[]{}\|/:;"'<,>.
  16. -- some overloads?
  17. -- reading from file?
  18. mniipstext={}
  19. function mniipstext.drawletter(l,x,y,t)
  20. local matrix1={0,0,0}
  21. local matrix2={0,0,0}
  22. local matrix3={0,0,0}
  23. local matrix4={0,0,0}
  24. local matrix5={0,0,0}
  25. local w=3
  26. if l=="a" then
  27.  matrix1={0,1,1}
  28.  matrix2={1,0,1}
  29.  matrix3={1,1,1}
  30.  matrix4={1,0,1}
  31.  matrix5={1,0,1}
  32. elseif l=="b" then
  33.  matrix1={1,1,0}
  34.  matrix2={1,0,1}
  35.  matrix3={1,1,0}
  36.  matrix4={1,0,1}
  37.  matrix5={1,1,0}
  38. elseif l=="c" then
  39.  matrix1={0,1}
  40.  matrix2={1,0}
  41.  matrix3={1,0}
  42.  matrix4={1,0}
  43.  matrix5={0,1}
  44.  w=2
  45. elseif l=="d" then
  46.  matrix1={1,1,0}
  47.  matrix2={1,0,1}
  48.  matrix3={1,0,1}
  49.  matrix4={1,0,1}
  50.  matrix5={1,1,0}
  51. elseif l=="e" then
  52.  matrix1={1,1}
  53.  matrix2={1,0}
  54.  matrix3={1,1}
  55.  matrix4={1,0}
  56.  matrix5={1,1}
  57.  w=2
  58. elseif l=="f" then
  59.  matrix1={1,1}
  60.  matrix2={1,0}
  61.  matrix3={1,1}
  62.  matrix4={1,0}
  63.  matrix5={1,0}
  64.  w=2
  65. elseif l=="g" then
  66.  matrix1={0,1,1,1}
  67.  matrix2={1,0,0,0}
  68.  matrix3={1,0,1,1}
  69.  matrix4={1,0,0,1}
  70.  matrix5={0,1,1,0}
  71.  w=4
  72. elseif l=="h" then
  73.  matrix1={1,0,1}
  74.  matrix2={1,0,1}
  75.  matrix3={1,1,1}
  76.  matrix4={1,0,1}
  77.  matrix5={1,0,1}
  78. elseif l=="i" then
  79.  matrix1={1}
  80.  matrix2={1}
  81.  matrix3={1}
  82.  matrix4={1}
  83.  matrix5={1}
  84.  w=1
  85. elseif l=="j" then
  86.  matrix1={0,1}
  87.  matrix2={0,1}
  88.  matrix3={0,1}
  89.  matrix4={0,1}
  90.  matrix5={1,0}
  91.  w=2
  92. elseif l=="k" then
  93.  matrix1={1,0,1}
  94.  matrix2={1,0,1}
  95.  matrix3={1,1,0}
  96.  matrix4={1,0,1}
  97.  matrix5={1,0,1}
  98. elseif l=="l" then
  99.  matrix1={1,0}
  100.  matrix2={1,0}
  101.  matrix3={1,0}
  102.  matrix4={1,0}
  103.  matrix5={1,1}
  104.  w=2
  105. elseif l=="m" then
  106.  matrix1={1,0,0,0,1}
  107.  matrix2={1,1,0,1,1}
  108.  matrix3={1,0,1,0,1}
  109.  matrix4={1,0,0,0,1}
  110.  matrix5={1,0,0,0,1}
  111.  w=5
  112. elseif l=="n" then
  113.  matrix1={1,0,0,1}
  114.  matrix2={1,1,0,1}
  115.  matrix3={1,0,1,1}
  116.  matrix4={1,0,0,1}
  117.  matrix5={1,0,0,1}
  118.  w=4
  119. elseif l=="o" or l=="0" then
  120.  matrix1={0,1,0}
  121.  matrix2={1,0,1}
  122.  matrix3={1,0,1}
  123.  matrix4={1,0,1}
  124.  matrix5={0,1,0}
  125. elseif l=="p" then
  126.  matrix1={1,1,0}
  127.  matrix2={1,0,1}
  128.  matrix3={1,1,0}
  129.  matrix4={1,0,0}
  130.  matrix5={1,0,0}
  131. elseif l=="q" then
  132.  matrix1={0,1,1,1,0}
  133.  matrix2={1,0,0,0,1}
  134.  matrix3={1,0,1,0,1}
  135.  matrix4={1,0,0,1,0}
  136.  matrix5={0,1,1,0,1}
  137.  w=5
  138. elseif l=="r" then
  139.  matrix1={1,1,0}
  140.  matrix2={1,0,1}
  141.  matrix3={1,1,0}
  142.  matrix4={1,0,1}
  143.  matrix5={1,0,1}
  144. elseif l=="s" then
  145.  matrix1={0,1,1}
  146.  matrix2={1,0,0}
  147.  matrix3={0,1,0}
  148.  matrix4={0,0,1}
  149.  matrix5={1,1,0}
  150. elseif l=="t" then
  151.  matrix1={1,1,1}
  152.  matrix2={0,1,0}
  153.  matrix3={0,1,0}
  154.  matrix4={0,1,0}
  155.  matrix5={0,1,0}
  156. elseif l=="u" then
  157.  matrix1={1,0,0,1}
  158.  matrix2={1,0,0,1}
  159.  matrix3={1,0,0,1}
  160.  matrix4={1,0,0,1}
  161.  matrix5={0,1,1,0}
  162.  w=4
  163. elseif l=="v" then
  164.  matrix1={1,0,1}
  165.  matrix2={1,0,1}
  166.  matrix3={1,0,1}
  167.  matrix4={1,0,1}
  168.  matrix5={0,1,0}
  169. elseif l=="w" then
  170.  matrix1={1,0,1,0,1}
  171.  matrix2={1,0,1,0,1}
  172.  matrix3={1,0,1,0,1}
  173.  matrix4={1,0,1,0,1}
  174.  matrix5={0,1,0,1,0}
  175.  w=5
  176. elseif l=="x" then
  177.  matrix1={1,0,1}
  178.  matrix2={1,0,1}
  179.  matrix3={0,1,0}
  180.  matrix4={1,0,1}
  181.  matrix5={1,0,1}
  182. elseif l=="y" then
  183.  matrix1={1,0,1}
  184.  matrix2={1,0,1}
  185.  matrix3={0,1,0}
  186.  matrix4={0,1,0}
  187.  matrix5={0,1,0}
  188. elseif l=="z" then
  189.  matrix1={1,1,1}
  190.  matrix2={0,0,1}
  191.  matrix3={0,1,0}
  192.  matrix4={1,0,0}
  193.  matrix5={1,1,1}
  194. elseif l=="1" then
  195.  matrix1={0,1}
  196.  matrix2={1,1}
  197.  matrix3={0,1}
  198.  matrix4={0,1}
  199.  matrix5={0,1}
  200.  w=2
  201. elseif l=="2" then
  202.  matrix1={1,1,0}
  203.  matrix2={0,0,1}
  204.  matrix3={0,1,0}
  205.  matrix4={1,0,0}
  206.  matrix5={1,1,1}
  207. elseif l=="3" then
  208.  matrix1={1,1,0}
  209.  matrix2={0,0,1}
  210.  matrix3={0,1,0}
  211.  matrix4={0,0,1}
  212.  matrix5={1,1,0}
  213. elseif l=="4" then
  214.  matrix1={1,0,1}
  215.  matrix2={1,0,1}
  216.  matrix3={1,1,1}
  217.  matrix4={0,0,1}
  218.  matrix5={0,0,1}
  219. elseif l=="5" then
  220.  matrix1={1,1,1}
  221.  matrix2={1,0,0}
  222.  matrix3={1,1,0}
  223.  matrix4={0,0,1}
  224.  matrix5={1,1,0}
  225. elseif l=="6" then
  226.  matrix1={0,1,1}
  227.  matrix2={1,0,0}
  228.  matrix3={1,1,0}
  229.  matrix4={1,0,1}
  230.  matrix5={0,1,0}
  231. elseif l=="7" then
  232.  matrix1={1,1,1}
  233.  matrix2={0,0,1}
  234.  matrix3={0,1,0}
  235.  matrix4={0,1,0}
  236.  matrix5={0,1,0}
  237. elseif l=="8" then
  238.  matrix1={0,1,0}
  239.  matrix2={1,0,1}
  240.  matrix3={0,1,0}
  241.  matrix4={1,0,1}
  242.  matrix5={0,1,0}
  243. elseif l=="9" then
  244.  matrix1={0,1,0}
  245.  matrix2={1,0,1}
  246.  matrix3={0,1,1}
  247.  matrix4={0,0,1}
  248.  matrix5={1,1,0}
  249.  elseif l=="!" then
  250.  matrix1={0,1,0}
  251.  matrix2={0,1,0}
  252.  matrix3={0,1,0}
  253.  matrix4={0,0,0}
  254.  matrix5={0,1,0}
  255.  elseif l=="(" then
  256.  matrix1={0,0,1}
  257.  matrix2={0,1,0}
  258.  matrix3={0,1,0}
  259.  matrix4={0,1,0}
  260.  matrix5={0,0,1}
  261.  elseif l==")" then
  262.  matrix1={0,0,1}
  263.  matrix2={0,1,0}
  264.  matrix3={0,1,0}
  265.  matrix4={0,1,0}
  266.  matrix5={0,0,1}
  267.  elseif l=="-" then
  268.  matrix1={0,0,0}
  269.  matrix2={0,0,0}
  270.  matrix3={1,1,1}
  271.  matrix4={0,0,0}
  272.  matrix5={0,0,0}
  273.  elseif l=="_" then
  274.  matrix1={0,0,0}
  275.  matrix2={0,0,0}
  276.  matrix3={0,0,0}
  277.  matrix4={0,0,0}
  278.  matrix5={1,1,1}
  279.  elseif l=="=" then
  280.  matrix1={0,0,0}
  281.  matrix2={1,1,1}
  282.  matrix3={0,0,0}
  283.  matrix4={1,1,1}
  284.  matrix5={0,0,0}
  285.  elseif l=="+" then
  286.  matrix1={0,0,0}
  287.  matrix2={0,1,0}
  288.  matrix3={1,1,1}
  289.  matrix4={0,1,0}
  290.  matrix5={0,0,0}
  291.  elseif l=="[" then
  292.  matrix1={1,1,0}
  293.  matrix2={1,0,0}
  294.  matrix3={1,0,0}
  295.  matrix4={1,0,0}
  296.  matrix5={1,1,0}
  297.  elseif l=="]" then
  298.  matrix1={0,1,1}
  299.  matrix2={0,0,1}
  300.  matrix3={0,0,1}
  301.  matrix4={0,0,1}
  302.  matrix5={0,1,1}
  303.  elseif l=="{" then
  304.  matrix1={0,1,1}
  305.  matrix2={0,1,0}
  306.  matrix3={1,0,0}
  307.  matrix4={0,1,0}
  308.  matrix5={0,1,1}
  309.  elseif l=="}" then
  310.  matrix1={1,1,0}
  311.  matrix2={0,1,0}
  312.  matrix3={0,0,1}
  313.  matrix4={0,1,0}
  314.  matrix5={1,1,0}
  315.  elseif l=="|" then
  316.  matrix1={0,1,0}
  317.  matrix2={0,1,0}
  318.  matrix3={0,1,0}
  319.  matrix4={0,1,0}
  320.  matrix5={0,1,0}
  321.  elseif l==":" then
  322.  matrix1={0,0,0}
  323.  matrix2={0,1,0}
  324.  matrix3={0,0,0}
  325.  matrix4={0,1,0}
  326.  matrix5={0,0,0}
  327.  elseif l==";" then
  328.  matrix1={0,0,0}
  329.  matrix2={0,1,0}
  330.  matrix3={0,0,0}
  331.  matrix4={0,1,0}
  332.  matrix5={1,0,0}
  333.  elseif l=="'" then
  334.  matrix1={0,0,1}
  335.  matrix2={0,1,0}
  336.  matrix3={0,0,0}
  337.  matrix4={0,0,0}
  338.  matrix5={0,0,0}
  339.  elseif l=="," then
  340.  matrix1={0,0,0}
  341.  matrix2={0,0,0}
  342.  matrix3={0,0,0}
  343.  matrix4={0,1,0}
  344.  matrix5={1,0,0}
  345.  elseif l=="." then
  346.  matrix1={0,0,0}
  347.  matrix2={0,0,0}
  348.  matrix3={0,0,0}
  349.  matrix4={0,1,1}
  350.  matrix5={0,1,1}
  351.  elseif l=="<" then
  352.  matrix1={0,0,1}
  353.  matrix2={0,1,0}
  354.  matrix3={1,0,0}
  355.  matrix4={0,1,0}
  356.  matrix5={0,0,1}
  357.  elseif l==">" then
  358.  matrix1={1,0,0}
  359.  matrix2={0,1,0}
  360.  matrix3={0,0,1}
  361.  matrix4={0,1,0}
  362.  matrix5={1,0,0}
  363.  elseif l=="/" then
  364.  matrix1={0,0,1}
  365.  matrix2={0,0,1}
  366.  matrix3={0,1,0}
  367.  matrix4={0,1,0}
  368.  matrix5={1,0,0}
  369.  elseif l=="?" then
  370.  matrix1={1,1,1}
  371.  matrix2={0,0,1}
  372.  matrix3={0,1,0}
  373.  matrix4={0,0,0}
  374.  matrix5={0,1,0}
  375.  elseif l=="^" then
  376.  matrix1={0,1,0}
  377.  matrix2={1,0,1}
  378.  matrix3={0,0,0}
  379.  matrix4={0,0,0}
  380.  matrix5={0,0,0}
  381.  end            
  382. for i=1,5 do
  383.  if matrix1[i]==1 then
  384.   tpt.create(x+i-1,y,t)
  385.  end
  386. end
  387. for i=1,5 do
  388.  if matrix2[i]==1 then
  389.   tpt.create(x+i-1,y+1,t)
  390.  end
  391. end
  392. for i=1,5 do
  393.  if matrix3[i]==1 then
  394.   tpt.create(x+i-1,y+2,t)
  395.  end
  396. end
  397. for i=1,5 do
  398.  if matrix4[i]==1 then
  399.   tpt.create(x+i-1,y+3,t)
  400.  end
  401. end
  402. for i=1,5 do
  403.  if matrix5[i]==1 then
  404.   tpt.create(x+i-1,y+4,t)
  405.  end
  406. end
  407. return w
  408. end
  409.  
  410. function mniipstext.drawln(l,x,y,t)
  411. local ox=0
  412. for i=1,string.len(l) do
  413.  ox=1+ox+mniipstext.drawletter(string.sub(string.lower(l),i,i),x+ox,y,t)
  414. end
  415. return string.len(l)
  416. end
Advertisement
Add Comment
Please, Sign In to add comment