capitalex revisó este gist . Ir a la revisión
1 file changed, 670 insertions
paint.generated.lua(archivo creado)
@@ -0,0 +1,670 @@ | |||
1 | + | local min, max, huge = math.min, math.max, math.huge | |
2 | + | return function(counters, ports) | |
3 | + | if counters["@set resolution"] > 0 then | |
4 | + | ports[1].hook(counters) | |
5 | + | return true | |
6 | + | elseif counters["@set pixel"] > 0 then | |
7 | + | ports[2].hook(counters) | |
8 | + | return true | |
9 | + | elseif counters["@draw line"] > 0 then | |
10 | + | ports[3].hook(counters) | |
11 | + | return true | |
12 | + | elseif counters["@display"] > 0 then | |
13 | + | ports[4].hook(counters) | |
14 | + | return true | |
15 | + | elseif counters["@poll inputs"] > 0 then | |
16 | + | ports[5].hook(counters) | |
17 | + | return true | |
18 | + | elseif counters["@mouse position"] > 0 then | |
19 | + | ports[6].hook(counters) | |
20 | + | return true | |
21 | + | elseif counters["@mouse is down"] > 0 then | |
22 | + | ports[7].hook(counters) | |
23 | + | return true | |
24 | + | elseif counters["@mouse relative position"] > 0 then | |
25 | + | ports[8].hook(counters) | |
26 | + | return true | |
27 | + | elseif counters["@mouse wheel"] > 0 then | |
28 | + | ports[9].hook(counters) | |
29 | + | return true | |
30 | + | elseif counters["@sleep:60"] > 0 then | |
31 | + | acc = counters["@sleep:60"] | |
32 | + | counters["@sleep:60"] = max(counters["@sleep:60"] - acc, 0) | |
33 | + | counters["@sleep"] = counters["@sleep"] + acc * 60 | |
34 | + | return true | |
35 | + | elseif counters["@line x1:10"] > 0 then | |
36 | + | acc = counters["@line x1:10"] | |
37 | + | counters["@line x1:10"] = max(counters["@line x1:10"] - acc, 0) | |
38 | + | counters["@line x1"] = counters["@line x1"] + acc * 10 | |
39 | + | return true | |
40 | + | elseif counters["@line y1:10"] > 0 then | |
41 | + | acc = counters["@line y1:10"] | |
42 | + | counters["@line y1:10"] = max(counters["@line y1:10"] - acc, 0) | |
43 | + | counters["@line y1"] = counters["@line y1"] + acc * 10 | |
44 | + | return true | |
45 | + | elseif counters["@line x2:30"] > 0 then | |
46 | + | acc = counters["@line x2:30"] | |
47 | + | counters["@line x2:30"] = max(counters["@line x2:30"] - acc, 0) | |
48 | + | counters["@line x2"] = counters["@line x2"] + acc * 30 | |
49 | + | return true | |
50 | + | elseif counters["@line y2:10"] > 0 then | |
51 | + | acc = counters["@line y2:10"] | |
52 | + | counters["@line y2:10"] = max(counters["@line y2:10"] - acc, 0) | |
53 | + | counters["@line y2"] = counters["@line y2"] + acc * 10 | |
54 | + | return true | |
55 | + | elseif counters["@pixel r:255"] > 0 then | |
56 | + | acc = counters["@pixel r:255"] | |
57 | + | counters["@pixel r:255"] = max(counters["@pixel r:255"] - acc, 0) | |
58 | + | counters["@pixel r"] = counters["@pixel r"] + acc * 255 | |
59 | + | return true | |
60 | + | elseif counters["@pixel g:255"] > 0 then | |
61 | + | acc = counters["@pixel g:255"] | |
62 | + | counters["@pixel g:255"] = max(counters["@pixel g:255"] - acc, 0) | |
63 | + | counters["@pixel g"] = counters["@pixel g"] + acc * 255 | |
64 | + | return true | |
65 | + | elseif counters["@pixel b:255"] > 0 then | |
66 | + | acc = counters["@pixel b:255"] | |
67 | + | counters["@pixel b:255"] = max(counters["@pixel b:255"] - acc, 0) | |
68 | + | counters["@pixel b"] = counters["@pixel b"] + acc * 255 | |
69 | + | return true | |
70 | + | elseif counters["@pixel r:87"] > 0 then | |
71 | + | acc = counters["@pixel r:87"] | |
72 | + | counters["@pixel r:87"] = max(counters["@pixel r:87"] - acc, 0) | |
73 | + | counters["@pixel r"] = counters["@pixel r"] + acc * 87 | |
74 | + | return true | |
75 | + | elseif counters["@pixel g:87"] > 0 then | |
76 | + | acc = counters["@pixel g:87"] | |
77 | + | counters["@pixel g:87"] = max(counters["@pixel g:87"] - acc, 0) | |
78 | + | counters["@pixel g"] = counters["@pixel g"] + acc * 87 | |
79 | + | return true | |
80 | + | elseif counters["@pixel b:87"] > 0 then | |
81 | + | acc = counters["@pixel b:87"] | |
82 | + | counters["@pixel b:87"] = max(counters["@pixel b:87"] - acc, 0) | |
83 | + | counters["@pixel b"] = counters["@pixel b"] + acc * 87 | |
84 | + | return true | |
85 | + | elseif counters["@pixel r:219"] > 0 then | |
86 | + | acc = counters["@pixel r:219"] | |
87 | + | counters["@pixel r:219"] = max(counters["@pixel r:219"] - acc, 0) | |
88 | + | counters["@pixel r"] = counters["@pixel r"] + acc * 219 | |
89 | + | return true | |
90 | + | elseif counters["@pixel b:12"] > 0 then | |
91 | + | acc = counters["@pixel b:12"] | |
92 | + | counters["@pixel b:12"] = max(counters["@pixel b:12"] - acc, 0) | |
93 | + | counters["@pixel b"] = counters["@pixel b"] + acc * 12 | |
94 | + | return true | |
95 | + | elseif counters["clear @pixel r:255"] > 0 then | |
96 | + | acc = counters["clear @pixel r:255"] | |
97 | + | counters["clear @pixel r:255"] = max(counters["clear @pixel r:255"] - acc, 0) | |
98 | + | counters["clear @pixel r"] = counters["clear @pixel r"] + acc * 255 | |
99 | + | return true | |
100 | + | elseif counters["clear @pixel g:255"] > 0 then | |
101 | + | acc = counters["clear @pixel g:255"] | |
102 | + | counters["clear @pixel g:255"] = max(counters["clear @pixel g:255"] - acc, 0) | |
103 | + | counters["clear @pixel g"] = counters["clear @pixel g"] + acc * 255 | |
104 | + | return true | |
105 | + | elseif counters["clear @pixel b:255"] > 0 then | |
106 | + | acc = counters["clear @pixel b:255"] | |
107 | + | counters["clear @pixel b:255"] = max(counters["clear @pixel b:255"] - acc, 0) | |
108 | + | counters["clear @pixel b"] = counters["clear @pixel b"] + acc * 255 | |
109 | + | return true | |
110 | + | elseif counters["clear old mouse x:1000000"] > 0 then | |
111 | + | acc = counters["clear old mouse x:1000000"] | |
112 | + | counters["clear old mouse x:1000000"] = max(counters["clear old mouse x:1000000"] - acc, 0) | |
113 | + | counters["clear old mouse x"] = counters["clear old mouse x"] + acc * 1000000 | |
114 | + | return true | |
115 | + | elseif counters["clear old mouse y:1000000"] > 0 then | |
116 | + | acc = counters["clear old mouse y:1000000"] | |
117 | + | counters["clear old mouse y:1000000"] = max(counters["clear old mouse y:1000000"] - acc, 0) | |
118 | + | counters["clear old mouse y"] = counters["clear old mouse y"] + acc * 1000000 | |
119 | + | return true | |
120 | + | elseif counters["current mouse x -> old mouse x:1000000"] > 0 then | |
121 | + | acc = counters["current mouse x -> old mouse x:1000000"] | |
122 | + | counters["current mouse x -> old mouse x:1000000"] = max(counters["current mouse x -> old mouse x:1000000"] - acc, 0) | |
123 | + | counters["current mouse x -> old mouse x"] = counters["current mouse x -> old mouse x"] + acc * 1000000 | |
124 | + | return true | |
125 | + | elseif counters["current mouse y -> old mouse y:1000000"] > 0 then | |
126 | + | acc = counters["current mouse y -> old mouse y:1000000"] | |
127 | + | counters["current mouse y -> old mouse y:1000000"] = max(counters["current mouse y -> old mouse y:1000000"] - acc, 0) | |
128 | + | counters["current mouse y -> old mouse y"] = counters["current mouse y -> old mouse y"] + acc * 1000000 | |
129 | + | return true | |
130 | + | elseif counters["@mouse x -> current mouse x:1000000"] > 0 then | |
131 | + | acc = counters["@mouse x -> current mouse x:1000000"] | |
132 | + | counters["@mouse x -> current mouse x:1000000"] = max(counters["@mouse x -> current mouse x:1000000"] - acc, 0) | |
133 | + | counters["@mouse x -> current mouse x"] = counters["@mouse x -> current mouse x"] + acc * 1000000 | |
134 | + | return true | |
135 | + | elseif counters["@mouse y -> current mouse y:1000000"] > 0 then | |
136 | + | acc = counters["@mouse y -> current mouse y:1000000"] | |
137 | + | counters["@mouse y -> current mouse y:1000000"] = max(counters["@mouse y -> current mouse y:1000000"] - acc, 0) | |
138 | + | counters["@mouse y -> current mouse y"] = counters["@mouse y -> current mouse y"] + acc * 1000000 | |
139 | + | return true | |
140 | + | elseif counters["copy old mouse x -> @line x1:1000000"] > 0 then | |
141 | + | acc = counters["copy old mouse x -> @line x1:1000000"] | |
142 | + | counters["copy old mouse x -> @line x1:1000000"] = max(counters["copy old mouse x -> @line x1:1000000"] - acc, 0) | |
143 | + | counters["copy old mouse x -> @line x1"] = counters["copy old mouse x -> @line x1"] + acc * 1000000 | |
144 | + | return true | |
145 | + | elseif counters["copy old mouse y -> @line y1:1000000"] > 0 then | |
146 | + | acc = counters["copy old mouse y -> @line y1:1000000"] | |
147 | + | counters["copy old mouse y -> @line y1:1000000"] = max(counters["copy old mouse y -> @line y1:1000000"] - acc, 0) | |
148 | + | counters["copy old mouse y -> @line y1"] = counters["copy old mouse y -> @line y1"] + acc * 1000000 | |
149 | + | return true | |
150 | + | elseif counters["copy current mouse x -> @line x2:1000000"] > 0 then | |
151 | + | acc = counters["copy current mouse x -> @line x2:1000000"] | |
152 | + | counters["copy current mouse x -> @line x2:1000000"] = max(counters["copy current mouse x -> @line x2:1000000"] - acc, 0) | |
153 | + | counters["copy current mouse x -> @line x2"] = counters["copy current mouse x -> @line x2"] + acc * 1000000 | |
154 | + | return true | |
155 | + | elseif counters["copy current mouse y -> @line y2:1000000"] > 0 then | |
156 | + | acc = counters["copy current mouse y -> @line y2:1000000"] | |
157 | + | counters["copy current mouse y -> @line y2:1000000"] = max(counters["copy current mouse y -> @line y2:1000000"] - acc, 0) | |
158 | + | counters["copy current mouse y -> @line y2"] = counters["copy current mouse y -> @line y2"] + acc * 1000000 | |
159 | + | return true | |
160 | + | elseif counters["clear pixel color"] > 0 then | |
161 | + | acc = counters["clear pixel color"] | |
162 | + | counters["clear pixel color"] = max(counters["clear pixel color"] - acc, 0) | |
163 | + | counters["clear @pixel g:255"] = counters["clear @pixel g:255"] + acc * 1 | |
164 | + | counters["clear @pixel b:255"] = counters["clear @pixel b:255"] + acc * 1 | |
165 | + | counters["clear @pixel r:255"] = counters["clear @pixel r:255"] + acc * 1 | |
166 | + | return true | |
167 | + | elseif counters["clear @pixel r"] > 0 and counters["@pixel r"] > 0 then | |
168 | + | local acc = huge | |
169 | + | acc = min(acc, counters["@pixel r"]) | |
170 | + | acc = min(acc, counters["clear @pixel r"]) | |
171 | + | counters["clear @pixel r"] = max(counters["clear @pixel r"] - acc, 0) | |
172 | + | counters["@pixel r"] = max(counters["@pixel r"] - acc, 0) | |
173 | + | return true | |
174 | + | elseif counters["clear @pixel g"] > 0 and counters["@pixel g"] > 0 then | |
175 | + | local acc = huge | |
176 | + | acc = min(acc, counters["clear @pixel g"]) | |
177 | + | acc = min(acc, counters["@pixel g"]) | |
178 | + | counters["clear @pixel g"] = max(counters["clear @pixel g"] - acc, 0) | |
179 | + | counters["@pixel g"] = max(counters["@pixel g"] - acc, 0) | |
180 | + | return true | |
181 | + | elseif counters["clear @pixel b"] > 0 and counters["@pixel b"] > 0 then | |
182 | + | local acc = huge | |
183 | + | acc = min(acc, counters["@pixel b"]) | |
184 | + | acc = min(acc, counters["clear @pixel b"]) | |
185 | + | counters["clear @pixel b"] = max(counters["clear @pixel b"] - acc, 0) | |
186 | + | counters["@pixel b"] = max(counters["@pixel b"] - acc, 0) | |
187 | + | return true | |
188 | + | elseif counters["clear @pixel r"] > 0 then | |
189 | + | acc = counters["clear @pixel r"] | |
190 | + | counters["clear @pixel r"] = max(counters["clear @pixel r"] - acc, 0) | |
191 | + | return true | |
192 | + | elseif counters["clear @pixel g"] > 0 then | |
193 | + | acc = counters["clear @pixel g"] | |
194 | + | counters["clear @pixel g"] = max(counters["clear @pixel g"] - acc, 0) | |
195 | + | return true | |
196 | + | elseif counters["clear @pixel b"] > 0 then | |
197 | + | acc = counters["clear @pixel b"] | |
198 | + | counters["clear @pixel b"] = max(counters["clear @pixel b"] - acc, 0) | |
199 | + | return true | |
200 | + | elseif counters["clear old mouse x"] > 0 and counters["old mouse x"] > 0 then | |
201 | + | local acc = huge | |
202 | + | acc = min(acc, counters["clear old mouse x"]) | |
203 | + | acc = min(acc, counters["old mouse x"]) | |
204 | + | counters["clear old mouse x"] = max(counters["clear old mouse x"] - acc, 0) | |
205 | + | counters["old mouse x"] = max(counters["old mouse x"] - acc, 0) | |
206 | + | return true | |
207 | + | elseif counters["clear old mouse x"] > 0 then | |
208 | + | acc = counters["clear old mouse x"] | |
209 | + | counters["clear old mouse x"] = max(counters["clear old mouse x"] - acc, 0) | |
210 | + | return true | |
211 | + | elseif counters["clear old mouse y"] > 0 and counters["old mouse y"] > 0 then | |
212 | + | local acc = huge | |
213 | + | acc = min(acc, counters["old mouse y"]) | |
214 | + | acc = min(acc, counters["clear old mouse y"]) | |
215 | + | counters["clear old mouse y"] = max(counters["clear old mouse y"] - acc, 0) | |
216 | + | counters["old mouse y"] = max(counters["old mouse y"] - acc, 0) | |
217 | + | return true | |
218 | + | elseif counters["clear old mouse y"] > 0 then | |
219 | + | acc = counters["clear old mouse y"] | |
220 | + | counters["clear old mouse y"] = max(counters["clear old mouse y"] - acc, 0) | |
221 | + | return true | |
222 | + | elseif counters["current mouse x -> old mouse x"] > 0 and counters["current mouse x"] > 0 then | |
223 | + | local acc = huge | |
224 | + | acc = min(acc, counters["current mouse x -> old mouse x"]) | |
225 | + | acc = min(acc, counters["current mouse x"]) | |
226 | + | counters["current mouse x -> old mouse x"] = max(counters["current mouse x -> old mouse x"] - acc, 0) | |
227 | + | counters["current mouse x"] = max(counters["current mouse x"] - acc, 0) | |
228 | + | counters["old mouse x"] = counters["old mouse x"] + acc * 1 | |
229 | + | return true | |
230 | + | elseif counters["current mouse y -> old mouse y"] > 0 and counters["current mouse y"] > 0 then | |
231 | + | local acc = huge | |
232 | + | acc = min(acc, counters["current mouse y"]) | |
233 | + | acc = min(acc, counters["current mouse y -> old mouse y"]) | |
234 | + | counters["current mouse y -> old mouse y"] = max(counters["current mouse y -> old mouse y"] - acc, 0) | |
235 | + | counters["current mouse y"] = max(counters["current mouse y"] - acc, 0) | |
236 | + | counters["old mouse y"] = counters["old mouse y"] + acc * 1 | |
237 | + | return true | |
238 | + | elseif counters["current mouse x -> old mouse x"] > 0 then | |
239 | + | acc = counters["current mouse x -> old mouse x"] | |
240 | + | counters["current mouse x -> old mouse x"] = max(counters["current mouse x -> old mouse x"] - acc, 0) | |
241 | + | return true | |
242 | + | elseif counters["current mouse y -> old mouse y"] > 0 then | |
243 | + | acc = counters["current mouse y -> old mouse y"] | |
244 | + | counters["current mouse y -> old mouse y"] = max(counters["current mouse y -> old mouse y"] - acc, 0) | |
245 | + | return true | |
246 | + | elseif counters["@mouse x -> current mouse x"] > 0 and counters["@mouse x"] > 0 then | |
247 | + | local acc = huge | |
248 | + | acc = min(acc, counters["@mouse x -> current mouse x"]) | |
249 | + | acc = min(acc, counters["@mouse x"]) | |
250 | + | counters["@mouse x -> current mouse x"] = max(counters["@mouse x -> current mouse x"] - acc, 0) | |
251 | + | counters["@mouse x"] = max(counters["@mouse x"] - acc, 0) | |
252 | + | counters["current mouse x"] = counters["current mouse x"] + acc * 1 | |
253 | + | return true | |
254 | + | elseif counters["@mouse y -> current mouse y"] > 0 and counters["@mouse y"] > 0 then | |
255 | + | local acc = huge | |
256 | + | acc = min(acc, counters["@mouse y"]) | |
257 | + | acc = min(acc, counters["@mouse y -> current mouse y"]) | |
258 | + | counters["@mouse y -> current mouse y"] = max(counters["@mouse y -> current mouse y"] - acc, 0) | |
259 | + | counters["@mouse y"] = max(counters["@mouse y"] - acc, 0) | |
260 | + | counters["current mouse y"] = counters["current mouse y"] + acc * 1 | |
261 | + | return true | |
262 | + | elseif counters["@mouse x -> current mouse x"] > 0 then | |
263 | + | acc = counters["@mouse x -> current mouse x"] | |
264 | + | counters["@mouse x -> current mouse x"] = max(counters["@mouse x -> current mouse x"] - acc, 0) | |
265 | + | return true | |
266 | + | elseif counters["@mouse y -> current mouse y"] > 0 then | |
267 | + | acc = counters["@mouse y -> current mouse y"] | |
268 | + | counters["@mouse y -> current mouse y"] = max(counters["@mouse y -> current mouse y"] - acc, 0) | |
269 | + | return true | |
270 | + | elseif counters["copy old mouse x -> @line x1"] > 0 and counters["old mouse x"] > 0 then | |
271 | + | local acc = huge | |
272 | + | acc = min(acc, counters["copy old mouse x -> @line x1"]) | |
273 | + | acc = min(acc, counters["old mouse x"]) | |
274 | + | counters["copy old mouse x -> @line x1"] = max(counters["copy old mouse x -> @line x1"] - acc, 0) | |
275 | + | counters["old mouse x"] = max(counters["old mouse x"] - acc, 0) | |
276 | + | counters["used old mouse x"] = counters["used old mouse x"] + acc * 1 | |
277 | + | counters["@line x1"] = counters["@line x1"] + acc * 1 | |
278 | + | return true | |
279 | + | elseif counters["copy old mouse y -> @line y1"] > 0 and counters["old mouse y"] > 0 then | |
280 | + | local acc = huge | |
281 | + | acc = min(acc, counters["old mouse y"]) | |
282 | + | acc = min(acc, counters["copy old mouse y -> @line y1"]) | |
283 | + | counters["copy old mouse y -> @line y1"] = max(counters["copy old mouse y -> @line y1"] - acc, 0) | |
284 | + | counters["old mouse y"] = max(counters["old mouse y"] - acc, 0) | |
285 | + | counters["@line y1"] = counters["@line y1"] + acc * 1 | |
286 | + | counters["used old mouse y"] = counters["used old mouse y"] + acc * 1 | |
287 | + | return true | |
288 | + | elseif counters["copy current mouse x -> @line x2"] > 0 and counters["current mouse x"] > 0 then | |
289 | + | local acc = huge | |
290 | + | acc = min(acc, counters["copy current mouse x -> @line x2"]) | |
291 | + | acc = min(acc, counters["current mouse x"]) | |
292 | + | counters["copy current mouse x -> @line x2"] = max(counters["copy current mouse x -> @line x2"] - acc, 0) | |
293 | + | counters["current mouse x"] = max(counters["current mouse x"] - acc, 0) | |
294 | + | counters["used current mouse x"] = counters["used current mouse x"] + acc * 1 | |
295 | + | counters["@line x2"] = counters["@line x2"] + acc * 1 | |
296 | + | return true | |
297 | + | elseif counters["copy current mouse y -> @line y2"] > 0 and counters["current mouse y"] > 0 then | |
298 | + | local acc = huge | |
299 | + | acc = min(acc, counters["current mouse y"]) | |
300 | + | acc = min(acc, counters["copy current mouse y -> @line y2"]) | |
301 | + | counters["copy current mouse y -> @line y2"] = max(counters["copy current mouse y -> @line y2"] - acc, 0) | |
302 | + | counters["current mouse y"] = max(counters["current mouse y"] - acc, 0) | |
303 | + | counters["@line y2"] = counters["@line y2"] + acc * 1 | |
304 | + | counters["used current mouse y"] = counters["used current mouse y"] + acc * 1 | |
305 | + | return true | |
306 | + | elseif counters["copy old mouse x -> @line x1"] > 0 then | |
307 | + | acc = counters["copy old mouse x -> @line x1"] | |
308 | + | counters["copy old mouse x -> @line x1"] = max(counters["copy old mouse x -> @line x1"] - acc, 0) | |
309 | + | return true | |
310 | + | elseif counters["copy old mouse y -> @line y1"] > 0 then | |
311 | + | acc = counters["copy old mouse y -> @line y1"] | |
312 | + | counters["copy old mouse y -> @line y1"] = max(counters["copy old mouse y -> @line y1"] - acc, 0) | |
313 | + | return true | |
314 | + | elseif counters["copy current mouse x -> @line x2"] > 0 then | |
315 | + | acc = counters["copy current mouse x -> @line x2"] | |
316 | + | counters["copy current mouse x -> @line x2"] = max(counters["copy current mouse x -> @line x2"] - acc, 0) | |
317 | + | return true | |
318 | + | elseif counters["copy current mouse y -> @line y2"] > 0 then | |
319 | + | acc = counters["copy current mouse y -> @line y2"] | |
320 | + | counters["copy current mouse y -> @line y2"] = max(counters["copy current mouse y -> @line y2"] - acc, 0) | |
321 | + | return true | |
322 | + | elseif counters["used old mouse x"] > 0 then | |
323 | + | acc = counters["used old mouse x"] | |
324 | + | counters["used old mouse x"] = max(counters["used old mouse x"] - acc, 0) | |
325 | + | counters["old mouse x"] = counters["old mouse x"] + acc * 1 | |
326 | + | return true | |
327 | + | elseif counters["used old mouse y"] > 0 then | |
328 | + | acc = counters["used old mouse y"] | |
329 | + | counters["used old mouse y"] = max(counters["used old mouse y"] - acc, 0) | |
330 | + | counters["old mouse y"] = counters["old mouse y"] + acc * 1 | |
331 | + | return true | |
332 | + | elseif counters["used current mouse x"] > 0 then | |
333 | + | acc = counters["used current mouse x"] | |
334 | + | counters["used current mouse x"] = max(counters["used current mouse x"] - acc, 0) | |
335 | + | counters["current mouse x"] = counters["current mouse x"] + acc * 1 | |
336 | + | return true | |
337 | + | elseif counters["used current mouse y"] > 0 then | |
338 | + | acc = counters["used current mouse y"] | |
339 | + | counters["used current mouse y"] = max(counters["used current mouse y"] - acc, 0) | |
340 | + | counters["current mouse y"] = counters["current mouse y"] + acc * 1 | |
341 | + | return true | |
342 | + | elseif counters["clear old mouse position"] > 0 then | |
343 | + | acc = counters["clear old mouse position"] | |
344 | + | counters["clear old mouse position"] = max(counters["clear old mouse position"] - acc, 0) | |
345 | + | counters["clear old mouse y:1000000"] = counters["clear old mouse y:1000000"] + acc * 1 | |
346 | + | counters["clear old mouse x:1000000"] = counters["clear old mouse x:1000000"] + acc * 1 | |
347 | + | return true | |
348 | + | elseif counters["move current mouse position to old mouse position"] > 0 then | |
349 | + | acc = counters["move current mouse position to old mouse position"] | |
350 | + | counters["move current mouse position to old mouse position"] = max(counters["move current mouse position to old mouse position"] - acc, 0) | |
351 | + | counters["current mouse x -> old mouse x:1000000"] = counters["current mouse x -> old mouse x:1000000"] + acc * 1 | |
352 | + | counters["current mouse y -> old mouse y:1000000"] = counters["current mouse y -> old mouse y:1000000"] + acc * 1 | |
353 | + | return true | |
354 | + | elseif counters["move @mouse position to current mouse position"] > 0 then | |
355 | + | acc = counters["move @mouse position to current mouse position"] | |
356 | + | counters["move @mouse position to current mouse position"] = max(counters["move @mouse position to current mouse position"] - acc, 0) | |
357 | + | counters["@mouse y -> current mouse y:1000000"] = counters["@mouse y -> current mouse y:1000000"] + acc * 1 | |
358 | + | counters["@mouse x -> current mouse x:1000000"] = counters["@mouse x -> current mouse x:1000000"] + acc * 1 | |
359 | + | return true | |
360 | + | elseif counters["update mouse position"] > 0 then | |
361 | + | acc = counters["update mouse position"] | |
362 | + | counters["update mouse position"] = max(counters["update mouse position"] - acc, 0) | |
363 | + | counters["@mouse position"] = counters["@mouse position"] + acc * 1 | |
364 | + | counters["move current mouse position to old mouse position"] = counters["move current mouse position to old mouse position"] + acc * 1 | |
365 | + | counters["clear old mouse position"] = counters["clear old mouse position"] + acc * 1 | |
366 | + | counters["move @mouse position to current mouse position"] = counters["move @mouse position to current mouse position"] + acc * 1 | |
367 | + | return true | |
368 | + | elseif counters["check if mouse button 1 is down"] > 0 and counters["find brush mode"] > 0 then | |
369 | + | local acc = huge | |
370 | + | acc = min(acc, counters["check if mouse button 1 is down"]) | |
371 | + | acc = min(acc, counters["find brush mode"]) | |
372 | + | counters["check if mouse button 1 is down"] = max(counters["check if mouse button 1 is down"] - acc, 0) | |
373 | + | counters["find brush mode"] = max(counters["find brush mode"] - acc, 0) | |
374 | + | counters["@mouse button"] = counters["@mouse button"] + acc * 1 | |
375 | + | counters["checking button 1"] = counters["checking button 1"] + acc * 1 | |
376 | + | counters["@mouse is down"] = counters["@mouse is down"] + acc * 1 | |
377 | + | return true | |
378 | + | elseif counters["check if mouse button 2 is down"] > 0 and counters["find brush mode"] > 0 then | |
379 | + | local acc = huge | |
380 | + | acc = min(acc, counters["find brush mode"]) | |
381 | + | acc = min(acc, counters["check if mouse button 2 is down"]) | |
382 | + | counters["check if mouse button 2 is down"] = max(counters["check if mouse button 2 is down"] - acc, 0) | |
383 | + | counters["find brush mode"] = max(counters["find brush mode"] - acc, 0) | |
384 | + | counters["checking button 2"] = counters["checking button 2"] + acc * 1 | |
385 | + | counters["@mouse button"] = counters["@mouse button"] + acc * 2 | |
386 | + | counters["@mouse is down"] = counters["@mouse is down"] + acc * 1 | |
387 | + | return true | |
388 | + | elseif counters["check if mouse button 3 is down"] > 0 and counters["find brush mode"] > 0 then | |
389 | + | local acc = huge | |
390 | + | acc = min(acc, counters["find brush mode"]) | |
391 | + | acc = min(acc, counters["check if mouse button 3 is down"]) | |
392 | + | counters["check if mouse button 3 is down"] = max(counters["check if mouse button 3 is down"] - acc, 0) | |
393 | + | counters["find brush mode"] = max(counters["find brush mode"] - acc, 0) | |
394 | + | counters["@mouse button"] = counters["@mouse button"] + acc * 3 | |
395 | + | counters["checking button 3"] = counters["checking button 3"] + acc * 1 | |
396 | + | counters["@mouse is down"] = counters["@mouse is down"] + acc * 1 | |
397 | + | return true | |
398 | + | elseif counters["checking button 1"] > 0 and counters["@mouse button is down"] > 0 then | |
399 | + | local acc = huge | |
400 | + | acc = min(acc, counters["checking button 1"]) | |
401 | + | acc = min(acc, counters["@mouse button is down"]) | |
402 | + | counters["checking button 1"] = max(counters["checking button 1"] - acc, 0) | |
403 | + | counters["@mouse button is down"] = max(counters["@mouse button is down"] - acc, 0) | |
404 | + | counters["brush is drawing"] = counters["brush is drawing"] + acc * 1 | |
405 | + | return true | |
406 | + | elseif counters["checking button 2"] > 0 and counters["@mouse button is down"] > 0 then | |
407 | + | local acc = huge | |
408 | + | acc = min(acc, counters["checking button 2"]) | |
409 | + | acc = min(acc, counters["@mouse button is down"]) | |
410 | + | counters["checking button 2"] = max(counters["checking button 2"] - acc, 0) | |
411 | + | counters["@mouse button is down"] = max(counters["@mouse button is down"] - acc, 0) | |
412 | + | counters["brush is erasing"] = counters["brush is erasing"] + acc * 1 | |
413 | + | return true | |
414 | + | elseif counters["checking button 3"] > 0 and counters["@mouse button is down"] > 0 then | |
415 | + | local acc = huge | |
416 | + | acc = min(acc, counters["checking button 3"]) | |
417 | + | acc = min(acc, counters["@mouse button is down"]) | |
418 | + | counters["checking button 3"] = max(counters["checking button 3"] - acc, 0) | |
419 | + | counters["@mouse button is down"] = max(counters["@mouse button is down"] - acc, 0) | |
420 | + | counters["brush is drawing red"] = counters["brush is drawing red"] + acc * 1 | |
421 | + | return true | |
422 | + | elseif counters["checking button 3"] > 0 then | |
423 | + | acc = counters["checking button 3"] | |
424 | + | counters["checking button 3"] = max(counters["checking button 3"] - acc, 0) | |
425 | + | counters["find brush mode"] = counters["find brush mode"] + acc * 1 | |
426 | + | return true | |
427 | + | elseif counters["checking button 2"] > 0 then | |
428 | + | acc = counters["checking button 2"] | |
429 | + | counters["checking button 2"] = max(counters["checking button 2"] - acc, 0) | |
430 | + | counters["find brush mode"] = counters["find brush mode"] + acc * 1 | |
431 | + | return true | |
432 | + | elseif counters["checking button 1"] > 0 then | |
433 | + | acc = counters["checking button 1"] | |
434 | + | counters["checking button 1"] = max(counters["checking button 1"] - acc, 0) | |
435 | + | counters["find brush mode"] = counters["find brush mode"] + acc * 1 | |
436 | + | return true | |
437 | + | elseif counters["find brush mode"] > 0 then | |
438 | + | acc = counters["find brush mode"] | |
439 | + | counters["find brush mode"] = max(counters["find brush mode"] - acc, 0) | |
440 | + | return true | |
441 | + | elseif counters["check if mouse button is down"] > 0 then | |
442 | + | acc = counters["check if mouse button is down"] | |
443 | + | counters["check if mouse button is down"] = max(counters["check if mouse button is down"] - acc, 0) | |
444 | + | counters["check if mouse button 1 is down"] = counters["check if mouse button 1 is down"] + acc * 1 | |
445 | + | counters["find brush mode"] = counters["find brush mode"] + acc * 1 | |
446 | + | counters["check if mouse button 3 is down"] = counters["check if mouse button 3 is down"] + acc * 1 | |
447 | + | counters["check if mouse button 2 is down"] = counters["check if mouse button 2 is down"] + acc * 1 | |
448 | + | return true | |
449 | + | elseif counters["set line color"] > 0 and counters["current color is 1"] > 0 then | |
450 | + | local acc = huge | |
451 | + | acc = min(acc, counters["current color is 1"]) | |
452 | + | acc = min(acc, counters["set line color"]) | |
453 | + | counters["set line color"] = max(counters["set line color"] - acc, 0) | |
454 | + | counters["current color is 1"] = max(counters["current color is 1"] - acc, 0) | |
455 | + | counters["current color is 1"] = counters["current color is 1"] + acc * 1 | |
456 | + | counters["@pixel r:255"] = counters["@pixel r:255"] + acc * 1 | |
457 | + | counters["@pixel g:255"] = counters["@pixel g:255"] + acc * 1 | |
458 | + | counters["@pixel b:255"] = counters["@pixel b:255"] + acc * 1 | |
459 | + | return true | |
460 | + | elseif counters["set line color"] > 0 and counters["current color is 2"] > 0 then | |
461 | + | local acc = huge | |
462 | + | acc = min(acc, counters["current color is 2"]) | |
463 | + | acc = min(acc, counters["set line color"]) | |
464 | + | counters["set line color"] = max(counters["set line color"] - acc, 0) | |
465 | + | counters["current color is 2"] = max(counters["current color is 2"] - acc, 0) | |
466 | + | counters["current color is 2"] = counters["current color is 2"] + acc * 1 | |
467 | + | counters["@pixel r:87"] = counters["@pixel r:87"] + acc * 1 | |
468 | + | counters["@pixel g:87"] = counters["@pixel g:87"] + acc * 1 | |
469 | + | counters["@pixel b:87"] = counters["@pixel b:87"] + acc * 1 | |
470 | + | return true | |
471 | + | elseif counters["set line color"] > 0 and counters["current color is 3"] > 0 then | |
472 | + | local acc = huge | |
473 | + | acc = min(acc, counters["current color is 3"]) | |
474 | + | acc = min(acc, counters["set line color"]) | |
475 | + | counters["set line color"] = max(counters["set line color"] - acc, 0) | |
476 | + | counters["current color is 3"] = max(counters["current color is 3"] - acc, 0) | |
477 | + | counters["current color is 3"] = counters["current color is 3"] + acc * 1 | |
478 | + | counters["@pixel r:219"] = counters["@pixel r:219"] + acc * 1 | |
479 | + | counters["@pixel b:12"] = counters["@pixel b:12"] + acc * 1 | |
480 | + | return true | |
481 | + | elseif counters["set line color"] > 0 and counters["current color is 4"] > 0 then | |
482 | + | local acc = huge | |
483 | + | acc = min(acc, counters["current color is 4"]) | |
484 | + | acc = min(acc, counters["set line color"]) | |
485 | + | counters["set line color"] = max(counters["set line color"] - acc, 0) | |
486 | + | counters["current color is 4"] = max(counters["current color is 4"] - acc, 0) | |
487 | + | counters["current color is 4"] = counters["current color is 4"] + acc * 1 | |
488 | + | return true | |
489 | + | elseif counters["set line position"] > 0 then | |
490 | + | acc = counters["set line position"] | |
491 | + | counters["set line position"] = max(counters["set line position"] - acc, 0) | |
492 | + | counters["copy current mouse y -> @line y2:1000000"] = counters["copy current mouse y -> @line y2:1000000"] + acc * 1 | |
493 | + | counters["copy old mouse x -> @line x1:1000000"] = counters["copy old mouse x -> @line x1:1000000"] + acc * 1 | |
494 | + | counters["copy old mouse y -> @line y1:1000000"] = counters["copy old mouse y -> @line y1:1000000"] + acc * 1 | |
495 | + | counters["copy current mouse x -> @line x2:1000000"] = counters["copy current mouse x -> @line x2:1000000"] + acc * 1 | |
496 | + | return true | |
497 | + | elseif counters["draw the line"] > 0 then | |
498 | + | acc = counters["draw the line"] | |
499 | + | counters["draw the line"] = max(counters["draw the line"] - acc, 0) | |
500 | + | counters["@draw line"] = counters["@draw line"] + acc * 1 | |
501 | + | return true | |
502 | + | elseif counters["plot line"] > 0 then | |
503 | + | acc = counters["plot line"] | |
504 | + | counters["plot line"] = max(counters["plot line"] - acc, 0) | |
505 | + | counters["set line position"] = counters["set line position"] + acc * 1 | |
506 | + | counters["draw the line"] = counters["draw the line"] + acc * 1 | |
507 | + | return true | |
508 | + | elseif counters["draw a line"] > 0 and counters["brush is drawing"] > 0 then | |
509 | + | local acc = huge | |
510 | + | acc = min(acc, counters["brush is drawing"]) | |
511 | + | acc = min(acc, counters["draw a line"]) | |
512 | + | counters["draw a line"] = max(counters["draw a line"] - acc, 0) | |
513 | + | counters["brush is drawing"] = max(counters["brush is drawing"] - acc, 0) | |
514 | + | counters["plot line"] = counters["plot line"] + acc * 1 | |
515 | + | counters["clear pixel color"] = counters["clear pixel color"] + acc * 1 | |
516 | + | counters["set line color"] = counters["set line color"] + acc * 1 | |
517 | + | return true | |
518 | + | elseif counters["draw a line"] > 0 and counters["brush is erasing"] > 0 then | |
519 | + | local acc = huge | |
520 | + | acc = min(acc, counters["brush is erasing"]) | |
521 | + | acc = min(acc, counters["draw a line"]) | |
522 | + | counters["draw a line"] = max(counters["draw a line"] - acc, 0) | |
523 | + | counters["brush is erasing"] = max(counters["brush is erasing"] - acc, 0) | |
524 | + | counters["clear pixel color"] = counters["clear pixel color"] + acc * 1 | |
525 | + | counters["plot line"] = counters["plot line"] + acc * 1 | |
526 | + | return true | |
527 | + | elseif counters["draw a line"] > 0 then | |
528 | + | acc = counters["draw a line"] | |
529 | + | counters["draw a line"] = max(counters["draw a line"] - acc, 0) | |
530 | + | return true | |
531 | + | elseif counters["check for color change"] > 0 then | |
532 | + | acc = counters["check for color change"] | |
533 | + | counters["check for color change"] = max(counters["check for color change"] - acc, 0) | |
534 | + | counters["@mouse wheel"] = counters["@mouse wheel"] + acc * 1 | |
535 | + | counters["update color"] = counters["update color"] + acc * 1 | |
536 | + | return true | |
537 | + | elseif counters["update color"] > 0 and counters["@mouse wheel +y"] > 0 then | |
538 | + | local acc = huge | |
539 | + | acc = min(acc, counters["@mouse wheel +y"]) | |
540 | + | acc = min(acc, counters["update color"]) | |
541 | + | counters["update color"] = max(counters["update color"] - acc, 0) | |
542 | + | counters["@mouse wheel +y"] = max(counters["@mouse wheel +y"] - acc, 0) | |
543 | + | counters["next color"] = counters["next color"] + acc * 1 | |
544 | + | return true | |
545 | + | elseif counters["update color"] > 0 and counters["@mouse wheel -y"] > 0 then | |
546 | + | local acc = huge | |
547 | + | acc = min(acc, counters["@mouse wheel -y"]) | |
548 | + | acc = min(acc, counters["update color"]) | |
549 | + | counters["update color"] = max(counters["update color"] - acc, 0) | |
550 | + | counters["@mouse wheel -y"] = max(counters["@mouse wheel -y"] - acc, 0) | |
551 | + | counters["previous color"] = counters["previous color"] + acc * 1 | |
552 | + | return true | |
553 | + | elseif counters["current color is 1"] > 0 and counters["next color"] > 0 then | |
554 | + | local acc = huge | |
555 | + | acc = min(acc, counters["current color is 1"]) | |
556 | + | acc = min(acc, counters["next color"]) | |
557 | + | counters["current color is 1"] = max(counters["current color is 1"] - acc, 0) | |
558 | + | counters["next color"] = max(counters["next color"] - acc, 0) | |
559 | + | counters["current color is 2"] = counters["current color is 2"] + acc * 1 | |
560 | + | return true | |
561 | + | elseif counters["current color is 2"] > 0 and counters["next color"] > 0 then | |
562 | + | local acc = huge | |
563 | + | acc = min(acc, counters["current color is 2"]) | |
564 | + | acc = min(acc, counters["next color"]) | |
565 | + | counters["current color is 2"] = max(counters["current color is 2"] - acc, 0) | |
566 | + | counters["next color"] = max(counters["next color"] - acc, 0) | |
567 | + | counters["current color is 3"] = counters["current color is 3"] + acc * 1 | |
568 | + | return true | |
569 | + | elseif counters["current color is 3"] > 0 and counters["next color"] > 0 then | |
570 | + | local acc = huge | |
571 | + | acc = min(acc, counters["current color is 3"]) | |
572 | + | acc = min(acc, counters["next color"]) | |
573 | + | counters["current color is 3"] = max(counters["current color is 3"] - acc, 0) | |
574 | + | counters["next color"] = max(counters["next color"] - acc, 0) | |
575 | + | counters["current color is 4"] = counters["current color is 4"] + acc * 1 | |
576 | + | return true | |
577 | + | elseif counters["current color is 4"] > 0 and counters["next color"] > 0 then | |
578 | + | local acc = huge | |
579 | + | acc = min(acc, counters["next color"]) | |
580 | + | acc = min(acc, counters["current color is 4"]) | |
581 | + | counters["current color is 4"] = max(counters["current color is 4"] - acc, 0) | |
582 | + | counters["next color"] = max(counters["next color"] - acc, 0) | |
583 | + | counters["current color is 1"] = counters["current color is 1"] + acc * 1 | |
584 | + | return true | |
585 | + | elseif counters["current color is 1"] > 0 and counters["previous color"] > 0 then | |
586 | + | local acc = huge | |
587 | + | acc = min(acc, counters["current color is 1"]) | |
588 | + | acc = min(acc, counters["previous color"]) | |
589 | + | counters["current color is 1"] = max(counters["current color is 1"] - acc, 0) | |
590 | + | counters["previous color"] = max(counters["previous color"] - acc, 0) | |
591 | + | counters["current color is 4"] = counters["current color is 4"] + acc * 1 | |
592 | + | return true | |
593 | + | elseif counters["current color is 2"] > 0 and counters["previous color"] > 0 then | |
594 | + | local acc = huge | |
595 | + | acc = min(acc, counters["current color is 2"]) | |
596 | + | acc = min(acc, counters["previous color"]) | |
597 | + | counters["current color is 2"] = max(counters["current color is 2"] - acc, 0) | |
598 | + | counters["previous color"] = max(counters["previous color"] - acc, 0) | |
599 | + | counters["current color is 1"] = counters["current color is 1"] + acc * 1 | |
600 | + | return true | |
601 | + | elseif counters["current color is 3"] > 0 and counters["previous color"] > 0 then | |
602 | + | local acc = huge | |
603 | + | acc = min(acc, counters["current color is 3"]) | |
604 | + | acc = min(acc, counters["previous color"]) | |
605 | + | counters["current color is 3"] = max(counters["current color is 3"] - acc, 0) | |
606 | + | counters["previous color"] = max(counters["previous color"] - acc, 0) | |
607 | + | counters["current color is 2"] = counters["current color is 2"] + acc * 1 | |
608 | + | return true | |
609 | + | elseif counters["current color is 4"] > 0 and counters["previous color"] > 0 then | |
610 | + | local acc = huge | |
611 | + | acc = min(acc, counters["previous color"]) | |
612 | + | acc = min(acc, counters["current color is 4"]) | |
613 | + | counters["current color is 4"] = max(counters["current color is 4"] - acc, 0) | |
614 | + | counters["previous color"] = max(counters["previous color"] - acc, 0) | |
615 | + | counters["current color is 3"] = counters["current color is 3"] + acc * 1 | |
616 | + | return true | |
617 | + | elseif counters["@mouse wheel +y"] > 0 then | |
618 | + | acc = counters["@mouse wheel +y"] | |
619 | + | counters["@mouse wheel +y"] = max(counters["@mouse wheel +y"] - acc, 0) | |
620 | + | return true | |
621 | + | elseif counters["@mouse wheel -y"] > 0 then | |
622 | + | acc = counters["@mouse wheel -y"] | |
623 | + | counters["@mouse wheel -y"] = max(counters["@mouse wheel -y"] - acc, 0) | |
624 | + | return true | |
625 | + | elseif counters["update"] > 0 then | |
626 | + | acc = counters["update"] | |
627 | + | counters["update"] = max(counters["update"] - acc, 0) | |
628 | + | counters["draw a line"] = counters["draw a line"] + acc * 1 | |
629 | + | counters["check if mouse button is down"] = counters["check if mouse button is down"] + acc * 1 | |
630 | + | counters["update mouse position"] = counters["update mouse position"] + acc * 1 | |
631 | + | return true | |
632 | + | elseif counters["poll inputs"] > 0 then | |
633 | + | acc = counters["poll inputs"] | |
634 | + | counters["poll inputs"] = max(counters["poll inputs"] - acc, 0) | |
635 | + | counters["@poll inputs"] = counters["@poll inputs"] + acc * 1 | |
636 | + | return true | |
637 | + | elseif counters["draw brush color"] > 0 then | |
638 | + | acc = counters["draw brush color"] | |
639 | + | counters["draw brush color"] = max(counters["draw brush color"] - acc, 0) | |
640 | + | counters["@line x2:30"] = counters["@line x2:30"] + acc * 1 | |
641 | + | counters["@line y1:10"] = counters["@line y1:10"] + acc * 1 | |
642 | + | counters["@line y2:10"] = counters["@line y2:10"] + acc * 1 | |
643 | + | counters["draw the line"] = counters["draw the line"] + acc * 1 | |
644 | + | counters["@line x1:10"] = counters["@line x1:10"] + acc * 1 | |
645 | + | counters["set line color"] = counters["set line color"] + acc * 1 | |
646 | + | return true | |
647 | + | elseif counters["display"] > 0 then | |
648 | + | acc = counters["display"] | |
649 | + | counters["display"] = max(counters["display"] - acc, 0) | |
650 | + | counters["@display"] = counters["@display"] + acc * 1 | |
651 | + | return true | |
652 | + | elseif counters["sleep"] > 0 then | |
653 | + | acc = counters["sleep"] | |
654 | + | counters["sleep"] = max(counters["sleep"] - acc, 0) | |
655 | + | counters["@sleep:16"] = counters["@sleep:16"] + acc * 1 | |
656 | + | return true | |
657 | + | elseif counters["main loop"] > 0 then | |
658 | + | acc = counters["main loop"] | |
659 | + | counters["main loop"] = max(counters["main loop"] - acc, 0) | |
660 | + | counters["sleep"] = counters["sleep"] + acc * 1 | |
661 | + | counters["display"] = counters["display"] + acc * 1 | |
662 | + | counters["main loop"] = counters["main loop"] + acc * 1 | |
663 | + | counters["check for color change"] = counters["check for color change"] + acc * 1 | |
664 | + | counters["poll inputs"] = counters["poll inputs"] + acc * 1 | |
665 | + | counters["draw brush color"] = counters["draw brush color"] + acc * 1 | |
666 | + | counters["update"] = counters["update"] + acc * 1 | |
667 | + | return true | |
668 | + | end | |
669 | + | return false | |
670 | + | end |
Siguiente
Anterior