Elasto Mania 1.0
Registered executable: test/binaries/candidates/elasto-mania/Elma/Elma.exe,
app id elasto_mania, image base 0x400000. Imports DSOUND.dll!DirectSoundCreate.
Browser recording and sound (2026-09-10)
The game presents a 4:3 image. A user recording begun before fullscreen had
2528×1534 encoded dimensions and horizontally stretched gameplay. The recorder
resized its capture canvas on source transitions; it now fixes the session
dimensions and contains new sources proportionally. Safari retaining initial
encoder dimensions is the leading explanation, not a directly reproduced
Safari result. test/test-recorder-aspect.js fails against the old code and
passes with the fix.
Audio is lazy: at launch the WineAssembly instance has no _audioCtx. After
the guest requests audio, a 44100 Hz context appears. The old recorder checked
only once and therefore made a permanently video-only file when started early.
The recorder now owns a stable audio track from the start and attaches newly
created guest contexts during recording. Browser regression:
node test/test-recorder-late-audio-web.js.
Actual game verification used /private/tmp/elasto-audio-probe.js: start
recording immediately after launch, navigate through player/menu/level screens,
hold Up to accelerate in Level 16 (New Wave), then reach the failure screen.
The saved /private/tmp/elasto-audio-real-game.mp4 contains real guest sound
(no injected tone): stereo AAC, mean −40.8 dB, peak −14.9 dB measured by ffmpeg
volumedetect. Sampling the result menu alone gives silence and is insufficient
to decide whether the game produces sound. Hold menu keys for about 250 ms in
automated probes; instant presses can be missed by this game's polled input
under load. The original user recording has no audio stream to recover.
Video repair details and cut points:
downloads/elasto-mania-recording-notes.md. Recorder fixes are local source
changes; this investigation did not deploy them.