MilesLib: run the 40250 sound sources verbatim over an AIL software mixer

Copy SoundBase/SoundData/SoundInstance*/SoundManager*/Type from 40250 and
implement the AIL_* calls they make in MilesAil.cpp (2D pan, 3D distance and
listener pan, threaded stream decode, loop counts). The SDL host drains the
mixer. CSoundManager is created/updated/destroyed where 40250 does it and the
old AudioCommands bridge is removed. Port-map MilesLib 142/142 PORTED.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-30 12:07:37 +09:00
co-authored by Claude Opus 5.5
parent d509f0a8b4
commit 11991d4d1f
39 changed files with 4232 additions and 1053 deletions
@@ -0,0 +1,56 @@
{
"reference": "MilesLib/SoundBase.cpp",
"reference_sha256": "e44646f6093f7432f6dd56892e9d8883763b2270c09139c1d7ca528dd71929ee",
"priority": "P4",
"contracts": [],
"functions": {
"CSoundBase::CSoundBase": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::CSoundBase"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
},
"CSoundBase::~CSoundBase": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::~CSoundBase"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
},
"CSoundBase::Destroy": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::Destroy"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
},
"CSoundBase::Initialize": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::Initialize"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
},
"CSoundBase::GetFileCRC": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::GetFileCRC"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
},
"CSoundBase::AddFile": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundBase.cpp:CSoundBase::AddFile"
],
"test": "tests/port/port_miles_test.cpp",
"note": "verbatim 40250 source over the AIL_* emulation in src/platform/MilesLib/MilesAil.cpp (software mixer drained by src/host/native_audio.cpp)"
}
}
}