blood singleton
blood · sources · schema v1Interactive BLOOD video source — the NBlood (Build-engine) port of Blood, compiled to WebAssembly and rendered as a video module. Owner-only and single-instance, like DOOM: the rack owner spawns it and plays; the video output is the Build software-rendered framebuffer, aspect-correct letterboxed into the canvas. CV-typed gate inputs (up/down/left/right, fire, altfire, use, jump, crouch, weapnext/weapprev, esc, enter) drive the marine from cables, and the focused card also captures the keyboard. Stereo audio_l/audio_r outputs are wired but silent in v1 (the PCM bridge is stubbed). The card boots OUT-OF-BOX: the 1997 Blood SHAREWARE data ("The Way of All Flesh", episode 1: maps E1M1-E1M8) is bundled under static/blood/ and LFS-tracked, so no picker is needed. The "Load full Blood data…" picker is an optional override — supply a copy of the full game you own (GOG/Steam One Unit Whole Blood or Fresh Supply) to play all episodes.
the faceplate
outputs
| id | cable | what it does |
|---|---|---|
out | video | The Build software-rendered game framebuffer, aspect-correct letterboxed into the canvas. RGB video stream |
audio_l | audio | Left channel of the live game audio — MultiVoc SFX + the OPL3 software-FM music synth, captured from the engine mixer and scaled by Gain. Patch it into a SCOPE, RECORDERBOX, or your output bus. audio signal |
audio_r | audio | Right channel of the same live game-audio mixer stream (real stereo, not a duplicated channel), scaled by Gain, so the two sides can be routed independently downstream. audio signal |
params
| id | label | range | default | curve |
|---|---|---|---|---|
audioGain | Gain | 0..2 | 1 | linear |
fillMode | Fill | 0..1 | — | discrete |
controls
| control | what it does |
|---|---|
| Gain | Trims the game-audio level feeding audio_l/audio_r (0..2, default 1), applied live on top of the worklet makeup gain. |
| Fill | Letterbox (preserve aspect, default) vs fill (cover-crop) the canvas. |
source
blood.ts on GitHub.