ludic.anim: a transition may name a via one-shot - a request from from (the state last asked, or "*") to to goes by it when the rig carries its clip, and the one-shot's next hands on. The game's hiker picked sit_down / stand_up / board_boat / leave_boat in code; the set says it now. A via edge is not an edge for a request's own fade. animset_test holds it, with a via the rig has and one it has not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-30 02:34:07 +03:00
parent 986fba3586
commit 96798c0fbb
5 changed files with 45 additions and 4 deletions

View file

@ -33,7 +33,7 @@ function as_blend(s: AnimSet, from: int, to: int) -> float {
if s.transitions != null {
for i in 0 .. len(s.transitions) {
let tr = s.transitions[i]
if tr.when == null and tr.to == s.states[to].key and as_leaves(s, tr, from) { return tr.blend }
if tr.when == null and tr.via == "" and tr.to == s.states[to].key and as_leaves(s, tr, from) { return tr.blend }
}
}
return s.states[to].blend