This commit is contained in:
MihailRis 2026-10-02 17:44:48 +03:00
parent fc16c1ebcd
commit ef4207aed0
3 changed files with 8 additions and 5 deletions

View file

@ -135,6 +135,9 @@ function internals.on_animation_frame()
if track_info.__timer > track.duration then if track_info.__timer > track.duration then
table.remove(playing_tracks, i) table.remove(playing_tracks, i)
else else
if track_info.target.reset_pose then
track_info.target:reset_pose()
end
track.func(track_info.target, track_info.__timer) track.func(track_info.target, track_info.__timer)
end end
end end

View file

@ -247,7 +247,7 @@ end
local function codegen_object_target(raw_track, context) local function codegen_object_target(raw_track, context)
local code = "\n if target.set_pos then\n" local code = "\n if target.set_pos then\n"
code = code .. " local dst = DST\n" code = code .. " local dst = mat4.idt()\n"
local lineset = raw_track.linesets[""] local lineset = raw_track.linesets[""]
if not lineset then if not lineset then
return "" return ""
@ -302,7 +302,7 @@ function internals.compile_animation_track(raw_track, track_name)
code = memoised_code .. "\n" .. code code = memoised_code .. "\n" .. code
end end
local src = "return function(target, t, intensity, m)\n m = m or 1\n" local src = "return function(target, t, intensity, m)\n m = m or 1\n intensity = intensity or 1.0\n"
.. code .. "\nend" .. code .. "\nend"
if animation.TRACE_CODEGEN then if animation.TRACE_CODEGEN then

View file

@ -12,7 +12,7 @@ function create_state(name, track_id, max_intencity)
fade_time = 0.0, fade_time = 0.0,
fade_timer = 0.0, fade_timer = 0.0,
fade_in = false, fade_in = false,
max_intencity = max_intencity, max_intencity = max_intencity or 1.0,
} }
end end
@ -25,14 +25,14 @@ function set_state(name, fade_time)
end end
if current_state then if current_state then
current_state.fade_in = false current_state.fade_in = false
current_state.fade_time = fade_time current_state.fade_time = fade_time or 0.0
current_state.fade_timer = 0.0 current_state.fade_timer = 0.0
end end
current_state = state current_state = state
if state then if state then
state.timer = 0.0 state.timer = 0.0
state.fade_in = true state.fade_in = true
state.fade_time = fade_time state.fade_time = fade_time or 0.0
state.fade_timer = 0.0 state.fade_timer = 0.0
end end
end end