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,104 @@
{
"reference": "MilesLib/SoundManager3D.cpp",
"reference_sha256": "3059a637ec84699f028ba69ae3fe8bdfa9c34e0b3f6a12f19d12067147a92078",
"priority": "P4",
"contracts": [],
"functions": {
"CSoundManager3D::CSoundManager3D": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::CSoundManager3D"
],
"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)"
},
"CSoundManager3D::~CSoundManager3D": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::~CSoundManager3D"
],
"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)"
},
"CSoundManager3D::Initialize": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::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)"
},
"CSoundManager3D::Destroy": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::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)"
},
"CSoundManager3D::SetListenerDirection": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::SetListenerDirection"
],
"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)"
},
"CSoundManager3D::SetListenerPosition": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::SetListenerPosition"
],
"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)"
},
"CSoundManager3D::SetListenerVelocity": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::SetListenerVelocity"
],
"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)"
},
"CSoundManager3D::SetInstance": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::SetInstance"
],
"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)"
},
"CSoundManager3D::GetInstance": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::GetInstance"
],
"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)"
},
"CSoundManager3D::IsValidInstanceIndex": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::IsValidInstanceIndex"
],
"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)"
},
"CSoundManager3D::Lock": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::Lock"
],
"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)"
},
"CSoundManager3D::Unlock": {
"status": "PORTED",
"impl": [
"src/platform/MilesLib/SoundManager3D.cpp:CSoundManager3D::Unlock"
],
"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)"
}
}
}