From dd577dd08059b2a4fa32bf1d1505916fa47d3ada Mon Sep 17 00:00:00 2001 From: MihailRis Date: Tue, 29 Sep 2026 18:44:19 +0300 Subject: [PATCH] cleanup --- res/modules/internal/animation_codegen.lua | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/res/modules/internal/animation_codegen.lua b/res/modules/internal/animation_codegen.lua index 004cdc4a3..0b96dc15b 100644 --- a/res/modules/internal/animation_codegen.lua +++ b/res/modules/internal/animation_codegen.lua @@ -15,18 +15,15 @@ local exclude_patters = { } -- TODO: replace with actual expression -> lua translator -local function process_expression(src, memoised, ismul, iscurve) - if not iscurve then - if ismul then - src = string.format("(%s) * intensity + (1.0 - intensity)", src) - else - src = string.format("(%s) * intensity", src) - end +local function process_expression(src, memoised, mode) + if mode == 'mul' then + src = string.format("(%s) * intensity + (1.0 - intensity)", src) + elseif mode == "add" then + src = string.format("(%s) * intensity", src) end for i, pattern in ipairs(exclude_patters) do if src:find(pattern) then - debug.print(exclude_patters) error("invalid syntax "..string.escape(src)) end end @@ -150,7 +147,8 @@ local function codegen_track(raw_track, lineset, memoised, keysets, use_tsf) for i, line in ipairs(lines) do if line.expression then code = code .. "\n local l" .. i .. " = (" .. - process_expression(line.expression, memoised, is_multiplier[line.channel]) .. ")" + process_expression(line.expression, memoised, + is_multiplier[line.channel] and "mul" or "add") .. ")" elseif line.keys then local target_keysets = keysets[lineset.target_name] if not target_keysets then @@ -286,7 +284,7 @@ function internals.compile_animation_track(raw_track, track_name) for name, curve in pairs(raw_track.curves) do context.curves[name] = load(string.format( "return function(kl, kr, t) return %s end", - process_expression(curve.func, context.memoised, false, true) + process_expression(curve.func, context.memoised, "curve") ), "", "t", env)() end