From d2b453395a43fdd3f218b25811428f5ef78c3366 Mon Sep 17 00:00:00 2001 From: Kistaro Windrider Date: Sat, 17 Dec 2022 14:56:09 -0800 Subject: [PATCH] Avoid recalculating operation names repeatedly. --- chameleonic.p8 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/chameleonic.p8 b/chameleonic.p8 index d99a15d..3733115 100644 --- a/chameleonic.p8 +++ b/chameleonic.p8 @@ -12,11 +12,21 @@ function _update() function _draw() _doall("draw") end +mnames={} +function names(root) + local n=mnames[root] + if(n)return all(n) + n={root.."0", root, root.."2", root.."3"} + mnames[root]=n + return all(n) +end + function _doall(x) - for x2 in all(split"0,,2,3") do + + for n in names(x) do for mod in all(modules) do - local f=mod[x..x2] - if (f != nil) f(mod) + local f=mod[n] + if (f) f(mod) end end end