blood singleton

blood · sources · schema v1

Interactive 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.

BLOOD runs the NBlood (Build-engine) port of Blood as an interactive video source. It is owner-only and single-instance — the rack owner spawns it and plays; the video output is the Build software-rendered framebuffer, letterboxed into the engine canvas. The card boots OUT-OF-BOX: the 1997 Blood SHAREWARE data ("The Way of All Flesh", episode 1) is bundled under static/blood/, so no picker is needed. The "Load full Blood data…" picker is an OPTIONAL override — point it at a copy of the full game you own (GOG/Steam One Unit Whole Blood or Fresh Supply) to play all episodes.

the faceplate

blood · singletonoutvideoaudio_laudioaudio_raudioaudiocvgatepitch
0 inputs · 3 outputs · 2 params

outputs

idcablewhat it does
outvideoThe Build software-rendered game framebuffer, aspect-correct letterboxed into the canvas.
RGB video stream
audio_laudioLeft 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_raudioRight 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

idlabelrangedefaultcurve
audioGainGain0..21linear
fillModeFill0..1discrete

controls

controlwhat it does
GainTrims the game-audio level feeding audio_l/audio_r (0..2, default 1), applied live on top of the worklet makeup gain.
FillLetterbox (preserve aspect, default) vs fill (cover-crop) the canvas.

source

blood.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo