{ "reference": "MilesLib/SoundManager.cpp", "reference_sha256": "6602fcd22004c2335634a4a4041c33409174ef11c583f4e257dda676f5b9229e", "priority": "P4", "contracts": [], "functions": { "CSoundManager::CSoundManager": { "status": "TODO" }, "CSoundManager::~CSoundManager": { "status": "TODO" }, "CSoundManager::Create": { "status": "TODO" }, "CSoundManager::Destroy": { "status": "TODO" }, "CSoundManager::SetPosition": { "status": "TODO" }, "CSoundManager::SetDirection": { "status": "TODO" }, "CSoundManager::Update": { "status": "TODO" }, "CSoundManager::UpdateSoundData": { "status": "TODO" }, "CSoundManager::UpdateSoundInstance": { "status": "TODO" }, "CSoundManager::GetSoundScale": { "status": "TODO" }, "CSoundManager::SetSoundScale": { "status": "TODO" }, "CSoundManager::SetAmbienceSoundScale": { "status": "TODO" }, "CSoundManager::SetSoundVolume": { "status": "TODO" }, "CSoundManager::__SetMusicVolume": { "status": "TODO" }, "CSoundManager::__ConvertRatioVolumeToApplyVolume": { "status": "TODO" }, "CSoundManager::__ConvertGradeVolumeToApplyVolume": { "status": "TODO" }, "CSoundManager::SetSoundVolumeGrade": { "status": "TODO" }, "CSoundManager::SetSoundVolumeRatio": { "status": "TODO" }, "CSoundManager::SetMusicVolume": { "status": "TODO" }, "CSoundManager::GetSoundVolume": { "status": "TODO" }, "CSoundManager::GetMusicVolume": { "status": "TODO" }, "CSoundManager::GetSoundInstance2D": { "status": "TODO" }, "CSoundManager::GetSoundInstance3D": { "status": "TODO" }, "CSoundManager::PlaySound2D": { "status": "TODO" }, "CSoundManager::PlaySound3D": { "status": "TODO" }, "CSoundManager::PlayAmbienceSound3D": { "status": "TODO" }, "CSoundManager::PlayCharacterSound3D": { "status": "TODO" }, "CSoundManager::StopSound3D": { "status": "TODO" }, "CSoundManager::SetSoundVolume3D": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::SetSoundVolume3D" ], "test": "project/audio_driver_test.gd", "note": "40250 indexed instance volume is forwarded to the active Godot 3D sound player." }, "CSoundManager::StopAllSound3D": { "status": "TODO" }, "CSoundManager::PlayMusic": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::PlayMusic" ], "test": "project/audio_driver_test.gd", "note": "40250 direct PlayMusic uses stream slot 0; the Godot driver now replaces slot 0." }, "CSoundManager::FadeInMusic": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::FadeInMusic" ], "test": "project/audio_driver_test.gd", "note": "40250 named stream fade-in advances by fVolumeSpeed per update; Godot uses three slots and the same per-frame volume step." }, "CSoundManager::FadeLimitOutMusic": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::FadeLimitOutMusic" ], "test": "project/audio_driver_test.gd", "note": "40250 ratio limit is converted by the original volume formula and the named stream fades to that limit." }, "CSoundManager::FadeOutMusic": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::FadeOutMusic" ], "test": "project/audio_driver_test.gd", "note": "40250 fade-out targets only the named active stream and stops it at volume zero." }, "CSoundManager::FadeOutAllMusic": { "status": "TODO" }, "CSoundManager::SaveVolume": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::SaveVolume" ], "test": "extension/tests/port_login_flow_test.cpp", "note": "40250 backup and mute sequence is preserved, including the repeated-save guard." }, "CSoundManager::RestoreVolume": { "status": "ADAPTED", "impl": [ "extension/src/platform/MilesLib/SoundManager.cpp:CSoundManager::RestoreVolume" ], "test": "extension/tests/port_login_flow_test.cpp", "note": "40250 clears the disabled flag before restoring backed-up music and sound volumes." }, "CSoundManager::StopMusic": { "status": "TODO" }, "CSoundManager::GetMusicIndex": { "status": "TODO" }, "CSoundManager::FadeAll": { "status": "TODO" } } }