RESIDENT EVIL 3
Crashes when a VC-1 video plays; the fix decodes it itself where the engine cannot.
GPL-3.0-or-laterThis fix in MacGameFix
What you see
Crashes when a particular video plays. In Devil May Cry 5 it is the skill previews on the Customize screen
Why it happens
The video is VC-1, and CrossOver ships no VC-1 decoder
What the fix changes
The fix's own VC-1 reader in the game folder (install-re-vc1-fix.sh); the staged codec still works and is used first where present
The code
When Media Foundation refuses a video (VC-1 in ASF, which no CrossOver decodes), the stream is handed to the fix's own ASF reader instead.
fixes/mf-reader-fallback.c ยท my_create, lines 109โ125c
static HRESULT WINAPI my_create(void *stream, void *attrs, void **reader)
{
static LONG calls, ours;
HRESULT hr = real_create(stream, attrs, reader);
LONG n = InterlockedIncrement(&calls);
if (n == 1) logf_("MFCreateSourceReaderFromByteStream -> 0x%08lx (first call)", hr);
if (FAILED(hr) && stream && reader && load_asf_reader_())
{
HRESULT mine = asf_reader_create(stream, attrs, reader);
LONG k = InterlockedIncrement(&ours);
if (k <= 5 || FAILED(mine))
logf_("Media Foundation refused a stream (0x%08lx); our ASF reader -> 0x%08lx (%ld so far)",
hr, mine, k);
if (SUCCEEDED(mine)) hr = mine;
}
return hr;
}Details
- Needs
- D3DMetal, D3D12
- Installer
- install-re-vc1-fix.sh
- Executable
- re3.exe
- Built from
- mf-reader-fallback.c, asf-reader.c, wmv-dmo.c, wm-reader.c, dshow-graph.c
- Verified on
- Stable 26.3 with the codec staged; CrossOver Preview 27 through NotProton with nothing staged (2026-10-14)