ANI32.RES FRML #700
walk [0-5] · action [6-8] · action [9-10] · action [11-11] · idle [12-12] · action [13-15] · idle [16-17]
Every FRML animation-frame resource Vengeance of Excalibur ships —
52 in ANI32.RES (battle-scene sprites) and 3 in ANI32A.RES — decoded by
src/assets/formats/frml.ts and rendered by
tools/vengeance/build-assets.ts. All 55/55 decode successfully (see
docs/vengeance/amiga/engine.md § “FRML Format” — the 3 ANI32.RES
entries that once appeared to overflow their endOffset field turned out to
be a codec mis-selection during export, not a real bug; closed with zero
remaining failures).
Each sheet below also shows its frame-index segmentation — which
contiguous frame ranges the entity-class bytecode VM (“FSME”, the same
opcode VM Spirit of Excalibur uses) treats as one animation, derived purely
from the VM’s own call/return structure rather than any semantic name. The
VM’s instruction encoding and frame-select opcode are fully decoded and
tested (tools/vengeance/fsme-vm.ts), but which segment is “idle” versus
“walk” versus “attack” is still an open question — no caller in the
executable assigns those names, so segments here are labeled generically
(e.g. action) with a confidence level:
SCEN resource that
actually uses this frame rangeSee docs/vengeance/amiga/engine.md § “Entity Animation Bytecode VM” and
docs/vengeance/TODO.md (veng-anim-entrypoint-names,
veng-entity-frml-mapping) in the main repo for exactly what’s open — in
particular, which real entity/monster each FRML resource actually belongs to
is not yet resolved (the roster’s +34/+38/+39 fields don’t resolve
to known id ranges for most entities), so unlike WIME’s Characters & Mobs
gallery, this page cannot yet attach named-character captions to these
sheets.
walk [0-5] · action [6-8] · action [9-10] · action [11-11] · idle [12-12] · action [13-15] · idle [16-17]
walk [0-3] · action [4-5] · idle [6-6] · action [7-7] · idle [8-9] · action [10-11] · death [12-12] · action [13-20]
walk [0-5] · idle [6-6] · action [7-8] · action [9-9] · action [10-12]
walk [0-6]
walk [0-3] · idle [4-4] · action [5-8] · death [9-12] · action [13-18]
walk [0-3] · idle [4-4] · action [5-5] · action [6-6] · action [7-9]
walk [0-5]
walk [0-3] · action [4-5] · walk [6-7] · action [8-9]
walk [0-3] · idle [4-5]
walk [0-3] · idle [4-6] · walk [7-8]
walk [0-3] · action [4-5] · walk [6-6] · action [7-7] · walk [8-8] · action [9-10]
walk [0-5] · idle [6-6] · action [7-7] · action [8-8] · action [9-10] · death [11-12]
walk [0-5] · idle [6-6] · action [7-8] · action [9-14]
walk [0-5] · idle [6-6] · action [7-9] · action [10-10] · action [11-14]
idle [0-2] · action [3-4]
action [0-5]
idle [0-5]
walk [0-3]
walk [0-2] · idle [3-3] · action [4-8] · action [9-14]
idle [0-5]
walk [0-5] · idle [6-6] · action [7-9] · action [10-10] · action [11-14]
walk [0-5] · idle [6-6] · action [7-9] · action [10-10] · action [11-14]
idle [0-16] · action [17-28]
idle [0-16] · action [17-28]
idle [0-15] · action [16-28]
action [0-3]
loop [0-4]
loop [0-6]
loop [0-2]
loop [0-2]
loop [0-2]
loop [0-3]
loop [0-3]
loop [0-3]
loop [0-3]
loop [0-3]
loop [0-0]
loop [0-3]
action [0-3]
loop [0-3]
loop [0-2]
loop [0-2]
loop [0-2]
action [0-3]
action [0-3]
action [0-3]
loop [0-12]
loop [0-2]
loop [0-2]
loop [0-1]
loop [0-1]
loop [0-2]
walk [0-2] · action [3-9] · death [10-11]
action [0-4] · action [5-5] · death [6-12]
loop [0-5]