Advertisement
Franzyd

badapple.lua

Aug 1st, 2021 (edited)
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 19.09 KB | None | 0 0
  1. --Featured in video: https://youtu.be/nT7I3ZbMBWc
  2.  
  3. local gui = require 'gui'
  4.  
  5. df.global.enabler.gfps = 30 --set gfps to 30
  6.  
  7. local viewscreen = gui.Screen() --creates a viewscreen
  8.  
  9. local file = io.open("EveryFrame.txt", "r"); --the file that has all the frame data
  10. local table = {}
  11.  
  12. local indexFrame = 1 --index of the table
  13. for line in file:lines() do
  14.     for i=1, 287, 2 do --total of 144 times for width of 144
  15.         table[indexFrame] = string.sub(line, i, i) --insert the data from the file into a table character by character
  16.         indexFrame = indexFrame + 1
  17.     end
  18. end
  19.  
  20. file:close()
  21.  
  22. local pens = {} --table for all the pens used
  23. local pensIndex = {} --table with values for the corresponding pens index
  24. --Pens gallore
  25.     --#region
  26.     pens[1] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  27.     pens[2] = {ch = '.', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  28.     pens[3] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Nothing/Default
  29.     pensIndex[1] = 1
  30.  
  31.     pens[40] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  32.     pens[41] = {ch = 'U', fg = COLOR_CYAN, bg = COLOR_GREY, bold = false}
  33.     pens[42] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Reimu Hakurei, frame 40-365
  34.     pensIndex[2] = 40
  35.  
  36.     pens[366] = {ch = 'a', fg = COLOR_RED, bg = COLOR_BLACK, bold = false}
  37.     pens[367] = {ch = 37, fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  38.     pens[368] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Apple (G-♣ light red), frame 366-444/6461-6469
  39.     pensIndex[3] = 366
  40.  
  41.     pens[445] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  42.     pens[446] = {ch = 'U', fg = COLOR_CYAN, bg = COLOR_GREY, bold = false}
  43.     pens[447] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Marisa Kirisame, frame 445-801
  44.     pensIndex[4] = 445
  45.  
  46.     pens[803] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  47.     pens[804] = {ch = 'x', fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  48.     pens[805] = {ch = 'a', fg = COLOR_RED, bg = COLOR_WHITE, bold = false} -- Bad Apple white, frame 802-821
  49.     pensIndex[5] = 803
  50.  
  51.     pens[822] = {ch = 'a', fg = COLOR_RED, bg = COLOR_BLACK, bold = false}
  52.     pens[823] = {ch = 'x', fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  53.     pens[824] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Bad Apple black, frame 822-855
  54.     pensIndex[6] = 822
  55.  
  56.     pens[856] = {ch = 'P', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  57.     pens[857] = {ch = 165, fg = COLOR_LIGHTMAGENTA, bg = COLOR_GREY, bold = false}
  58.     pens[858] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Patchouli Knowledge (G-Ñ light magenta), frame 856-1083
  59.     pensIndex[7] = 856
  60.  
  61.     pens[1084] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  62.     pens[1085] = {ch = 165, fg = COLOR_RED, bg = COLOR_GREY, bold = false}
  63.     pens[1086] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Remilia Scarlet (G-Ñ red), frame 1084-1230
  64.     pensIndex[8] = 1084
  65.  
  66.     pens[1231] = {ch = 'c', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  67.     pens[1232] = {ch = 20, fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  68.     pens[1233] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Cup black (G-¶ white), frame 1231-1263
  69.     pensIndex[9] = 1231
  70.  
  71.     pens[1264] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  72.     pens[1265] = {ch = 'X', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  73.     pens[1266] = {ch = 'c', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Cup white, frame 1264-1323
  74.     pensIndex[10] = 1264
  75.  
  76.     pens[1324] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  77.     pens[1325] = {ch = 'U', fg = COLOR_CYAN, bg = COLOR_GREY, bold = false}
  78.     pens[1326] = {ch = 'S', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Sakuya Izayoi, frame 1324-1480
  79.     pensIndex[11] = 1324
  80.  
  81.     pens[1481] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  82.     pens[1482] = {ch = '/', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  83.     pens[1483] = {ch = 'k', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Knife, frame 1481-1500
  84.     pensIndex[12] = 1481
  85.  
  86.     pens[1501] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  87.     pens[1502] = {ch = 165, fg = COLOR_RED, bg = COLOR_GREY, bold = false}
  88.     pens[1503] = {ch = 'F', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Flandre Scarlet white (G-Ñ red), frame 1501-1686
  89.     pensIndex[13] = 1501
  90.  
  91.     pens[1687] = {ch = 'F', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  92.     pens[1688] = {ch = 165, fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  93.     pens[1689] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Flandre Scarlet black (G-Ñ light red), frame 1687-1744
  94.     pensIndex[14] = 1687
  95.  
  96.     pens[1745] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  97.     pens[1746] = {ch = 165, fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  98.     pens[1747] = {ch = 'Y', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Youmu Konpaku (G-Ñ white), frame 1745-1883
  99.     pensIndex[15] = 1745
  100.  
  101.     pens[1884] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  102.     pens[1885] = {ch = 6, fg = COLOR_GREEN, bg = COLOR_GREY, bold = false}
  103.     pens[1886] = {ch = 't', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- tree (G-♠ green), frame 1884-1913
  104.     pensIndex[16] = 1884
  105.  
  106.     pens[1914] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  107.     pens[1915] = {ch = 165, fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  108.     pens[1916] = {ch = 'Y', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Yuyuko Saigyouji (G-Ñ white), frame 1914-2137
  109.     pensIndex[17] = 1914
  110.  
  111.     pens[2138] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  112.     pens[2139] = {ch = 164, fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  113.     pens[2140] = {ch = 'K', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Komachi Onozuka (G-ñ dark grey), frame 2138-2355
  114.     pensIndex[18] = 2138
  115.  
  116.     pens[2356] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  117.     pens[2357] = {ch = 38, fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  118.     pens[2358] = {ch = 'E', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Eiki Shiki (G-& white), frame 2356-2513
  119.     pensIndex[19] = 2356
  120.  
  121.     pens[2514] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  122.     pens[2515] = {ch = 'U', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  123.     pens[2516] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Fujiwara no Mokou , frame 2514-2717
  124.     pensIndex[20] = 2514
  125.  
  126.     pens[2717] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  127.     pens[2718] = {ch = 19, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  128.     pens[2719] = {ch = 19, fg = COLOR_RED, bg = COLOR_WHITE, bold = false} -- fire (GW-‼), frame 2717-2784
  129.     pensIndex[21] = 2717
  130.  
  131.     pens[2785] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  132.     pens[2786] = {ch = 165, fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  133.     pens[2787] = {ch = 'K', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Keine Kamishirasawa (G-Ñ brown), frame 2785-2965
  134.     pensIndex[22] = 2785
  135.  
  136.     pens[2966] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  137.     pens[2967] = {ch = 142, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  138.     pens[2968] = {ch = 'E', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Eirin Yagokoro (G-Ä yellow), frame 2966-3155
  139.     pensIndex[23] = 2966
  140.  
  141.     pens[3156] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  142.     pens[3157] = {ch = 142, fg = COLOR_LIGHTCYAN, bg = COLOR_GREY, bold = false}
  143.     pens[3158] = {ch = 'K', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Kaguya Houraisan (G-Ä light cyan), frame 3156-3323
  144.     pensIndex[24] = 3156
  145.  
  146.     pens[3324] = {ch = 'P', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  147.     pens[3325] = {ch = 14, fg = COLOR_LIGHTCYAN, bg = COLOR_GREY, bold = false}
  148.     pens[3326] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Prismriver sisters (G-♫ light cyan), frame 3324-3588
  149.     pensIndex[25] = 3324
  150.  
  151.     pens[3589] = {ch = 'C', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  152.     pens[3590] = {ch = 'c', fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  153.     pens[3591] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Chen, frame 3589-3616
  154.     pensIndex[26] = 3589
  155.  
  156.     pens[3617] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  157.     pens[3618] = {ch = 'f', fg = COLOR_RED, bg = COLOR_GREY, bold = false}
  158.     pens[3619] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Ran Yakumo, frame 3617-3644
  159.     pensIndex[27] = 3617
  160.  
  161.     pens[3644] = {ch = 'T', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  162.     pens[3645] = {ch = 'r', fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  163.     pens[3646] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Tewi Inaba, frame 3644-3667
  164.     pensIndex[28] = 3644
  165.  
  166.     pens[3667] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  167.     pens[3668] = {ch = 'r', fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  168.     pens[3669] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Reisen Udongein Inaba, frame 3667-3750
  169.     pensIndex[29] = 3667
  170.  
  171.     pens[3751] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  172.     pens[3752] = {ch = 'g', fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  173.     pens[3753] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Momiji Inubashiri, frame 3751-3808
  174.     pensIndex[30] = 3751
  175.    
  176.     pens[3809] = {ch = 'l', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  177.     pens[3810] = {ch = 6, fg = COLOR_GREEN, bg = COLOR_GREY, bold = false}
  178.     pens[3811] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- leaves (G-♠ green), frame 3809-3826
  179.     pensIndex[31] = 3809
  180.  
  181.     pens[3827] = {ch = 'S', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  182.     pens[3828] = {ch = 142, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  183.     pens[3829] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Sanae Kochiya (G-Ä yellow), frame 3827-3940
  184.     pensIndex[32] = 3827
  185.  
  186.     pens[3941] = {ch = 'H', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  187.     pens[3942] = {ch = 142, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  188.     pens[3943] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Hina Kagiyama (G-Ä yellow), frame 3941-4000
  189.     pensIndex[33] = 3941
  190.  
  191.     pens[4001] = {ch = 'K', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  192.     pens[4002] = {ch = 142, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  193.     pens[4003] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Kanako Yasaka (G-Ä yellow), frame 4001-4072
  194.     pensIndex[34] = 4001
  195.  
  196.     pens[4073] = {ch = 'S', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  197.     pens[4074] = {ch = 142, fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  198.     pens[4075] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Suwako Moriya (G-Ä yellow), frame 4073-4109
  199.     pensIndex[35] = 4073
  200.  
  201.     pens[4110] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  202.     pens[4111] = {ch = 143, fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  203.     pens[4112] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Moriya shrine (G-Å yellow), frame 4110-4188
  204.     pensIndex[36] = 4110
  205.  
  206.     pens[4189] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  207.     pens[4190] = {ch = 'O', fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  208.     pens[4191] = {ch = 'Y', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Yukari Yakumo, frame 4189-4421
  209.     pensIndex[37] = 4189
  210.  
  211.     pens[4422] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  212.     pens[4423] = {ch = 142, fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  213.     pens[4424] = {ch = 'T', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Tenshi Hinanawi (G-Ä brown), frame 4422-4571
  214.     pensIndex[38] = 4422
  215.  
  216.     pens[4572] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  217.     pens[4573] = {ch = 'O', fg = COLOR_YELLOW, bg = COLOR_GREY, bold = false}
  218.     pens[4574] = {ch = 'Y', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Yukari Yakumo, frame 4572-4587
  219.     pensIndex[39] = 4572
  220.  
  221.     pens[4597] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  222.     pens[4598] = {ch = 142, fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  223.     pens[4599] = {ch = 'T', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Tenshi Hinanawi (G-Ä brown), frame 4597-4628
  224.     pensIndex[40] = 4597
  225.  
  226.     pens[4629] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  227.     pens[4630] = {ch = '!', fg = COLOR_BROWN, bg = COLOR_GREY, bold = false}
  228.     pens[4631] = {ch = 'H', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Yukari and Tenshi, frame 4629-4653
  229.     pensIndex[41] = 4629
  230.  
  231.     pens[4653] = {ch = 'A', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  232.     pens[4654] = {ch = 'c', fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  233.     pens[4655] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Aya Shameimaru, frame 4653-4817
  234.     pensIndex[42] = 4653
  235.  
  236.     pens[4818] = {ch = 'S', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  237.     pens[4819] = {ch = 'O', fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  238.     pens[4820] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Suika Ibuki, frame 4818-5046
  239.     pensIndex[43] = 4818
  240.  
  241.     pens[5047] = {ch = 'a', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  242.     pens[5048] = {ch = 250, fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  243.     pens[5049] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- alcohol (G-·), frame 5047-5057
  244.     pensIndex[44] = 5047
  245.  
  246.     pens[5057] = {ch = 'A', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  247.     pens[5058] = {ch = 'U', fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  248.     pens[5059] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Alice Margatroid, frame 5057-5233
  249.     pensIndex[45] = 5057
  250.  
  251.     pens[5234] = {ch = 'N', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  252.     pens[5235] = {ch = 15, fg = COLOR_GREEN, bg = COLOR_GREY, bold = false}
  253.     pens[5236] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Nitori Kawashiro (G-☼ green), frame 5234-5407
  254.     pensIndex[46] = 5234
  255.  
  256.     pens[5408] = {ch = 247, fg = COLOR_BLUE, bg = COLOR_BLACK, bold = false}
  257.     pens[5409] = {ch = 126, fg = COLOR_LIGHTBLUE, bg = COLOR_GREY, bold = false}
  258.     pens[5410] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- water (B-≈ blue,G-~ light blue), frame 5408-5464
  259.     pensIndex[47] = 5408
  260.  
  261.     pens[5464] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  262.     pens[5465] = {ch = 6, fg = COLOR_LIGHTMAGENTA, bg = COLOR_GREY, bold = false}
  263.     pens[5466] = {ch = 'c', fg = COLOR_MAGENTA, bg = COLOR_WHITE, bold = false} -- cherry petals (G-♠ light magenta), frame 5464-5477
  264.     pensIndex[48] = 5464
  265.  
  266.     pens[5478] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  267.     pens[5479] = {ch = 6, fg = COLOR_LIGHTMAGENTA, bg = COLOR_GREY, bold = false}
  268.     pens[5480] = {ch = 'Y', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Yuuka Kazami (G-♠ light magenta), frame 5478-5653
  269.     pensIndex[49] = 5478
  270.  
  271.     pens[5654] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  272.     pens[5655] = {ch = 38, fg = COLOR_DARKGREY, bg = COLOR_GREY, bold = false}
  273.     pens[5656] = {ch = 'E', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Elly (G-& dark grey), frame 5654-5893
  274.     pensIndex[50] = 5654
  275.  
  276.     pens[5894] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  277.     pens[5895] = {ch = 126, fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  278.     pens[5896] = {ch = 247, fg = COLOR_RED, bg = COLOR_WHITE, bold = false} -- blood (W-≈ red,G-~ light red), frame 5894-5983
  279.     pensIndex[51] = 5894
  280.  
  281.     pens[5984] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  282.     pens[5985] = {ch = '9', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  283.     pens[5986] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Reimu and Marisa PC-98, frame 5984-6294
  284.     pensIndex[52] = 5984
  285.  
  286.     pens[6295] = {ch = 'i', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  287.     pens[6296] = {ch = 'y', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  288.     pens[6297] = {ch = 'a', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- YingYang, frame 6295-6406
  289.     pensIndex[53] = 6295
  290.  
  291.     pens[6407] = {ch = '.', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  292.     pens[6408] = {ch = '9', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  293.     pens[6409] = {ch = 'M', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Marisa PC-98, frame 6407-6460
  294.     pensIndex[54] = 6407
  295.  
  296.     pens[6461] = {ch = 'a', fg = COLOR_RED, bg = COLOR_BLACK, bold = false}
  297.     pens[6462] = {ch = 37, fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  298.     pens[6463] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Apple (G-♣ light red), frame 6461-6469
  299.     pensIndex[55] = 6461
  300.  
  301.     pens[6470] = {ch = 'R', fg = COLOR_GREY, bg = COLOR_BLACK, bold = false}
  302.     pens[6471] = {ch = '9', fg = COLOR_WHITE, bg = COLOR_GREY, bold = false}
  303.     pens[6472] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Reimu PC-98, frame 6470-6515
  304.     pensIndex[55] = 6470
  305.  
  306.     pens[6461] = {ch = 'a', fg = COLOR_RED, bg = COLOR_BLACK, bold = false}
  307.     pens[6462] = {ch = 37, fg = COLOR_LIGHTRED, bg = COLOR_GREY, bold = false}
  308.     pens[6463] = {ch = '.', fg = COLOR_GREY, bg = COLOR_WHITE, bold = false} -- Apple (G-♣ light red), frame 6461-6469
  309.     pensIndex[56] = 6461
  310.  
  311.     --#endregion
  312.  
  313. local frame = 1 --video frame
  314. indexFrame = 1
  315. local pensNo = 1 --int to use as pensIndex[] index, which then chooses the pens[] pen
  316.  
  317. io.popen('powershell -c (New-Object Media.SoundPlayer BadApple.wav).PlaySync();')
  318.  
  319. function viewscreen:onRenderBody(dc)
  320.     local parent = self._native.parent
  321.     parent:render()
  322.  
  323.     for y=2, 109 do
  324.         for x=22, 165 do
  325.             local char = table[indexFrame]
  326.  
  327.             if char == "0" then --paint the viewscreen with a black pen
  328.  
  329.                 dfhack.screen.paintTile(pens[pensIndex[pensNo]],x,y)
  330.  
  331.             elseif char == "1" then --paint the viewscreen with a grey pen
  332.  
  333.                 dfhack.screen.paintTile(pens[pensIndex[pensNo]+1],x,y)
  334.  
  335.             elseif char == "2" then --paint the viewscreen with a grey pen
  336.  
  337.                 dfhack.screen.paintTile(pens[pensIndex[pensNo]+2],x,y)
  338.  
  339.             end
  340.  
  341.             indexFrame = indexFrame + 1 --go to the next table index
  342.             if frame == pensIndex[pensNo+1] then pensNo = pensNo + 1 end --go to the next pen
  343.         end
  344.     end
  345.  
  346.     if frame < 6575 then frame = frame + 1
  347.     else viewscreen:dismiss() --exit the screen at the end of the video
  348.     end
  349. end
  350.  
  351. function viewscreen:onInput(keys)
  352.     if keys.LEAVESCREEN or keys.SELECT then
  353.         self:dismiss() --get rid of the viewscreen when ESCaping
  354.     end
  355. end
  356.  
  357. viewscreen:show() --show the viewscreen
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement