🛡️ TA Archive

tsfcom (TSFCOM) Render Control

Live preview (JavaScript)

The loop is played live in your browser from the validated loop table (the same data the reference render below was made from); the badge on the player is its self-test (seam + motion probes). The pre-rendered reference follows.

COB-exact: timeline 1:1 from tsfcom.cob (gait + aim/fire (COB VM), disassembled with _cob_dis.py). StateChg staged-deploy family: 2 open stages, then the compiled close order — not a reversed activate. Fire/hit/death/smoke scripts are engine-driven or firing-only and not part of this loop.

Animation

tsfcom animation

PNG frames

tsfcom frame
Frame 0 / 1280.00 s

COB timeline (TSFCOM.COB)

  • 0.00–1.17 s — Rest pose (the seam pose — both window ends settle here) | walk() — one full stride cycle (compiled slides; form-(c) legs run past the sleep clock)
  • 1.17–5.41 s — AimPrimary + 4 x FirePrimary (TSFCOMLASER, 850 ms) — at the COB aim speeds, shots on that weapon's reload grid
  • 5.41–7.99 s — AimTertiary + 2 x FireTertiary (TSF_DISINTEGRATOR, 1000 ms) — at the COB aim speeds, shots on that weapon's reload grid
  • 7.99–9.10 s — Close: Aim(0, 0) calls the engine would send next + the compiled restore scripts — back to the rest aim (engine pacing sleeps stay out)
  • 9.10–10.27 s — walk() again, then settle — the loop restarts seam-clean from the rest pose

Every stage duration equals its COB sleep exactly; values are raw COB units (turns: BAM 65536 = 360°, moves: elmo × 163840). Renderer conversions follow the proven family conventions (_cob_anim.py).