Son aktivite 1732581561

paint.generated.lua Ham Playground
1local min, max, huge = math.min, math.max, math.huge
2return 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
670end
671