From 966bf9a566a1f77e0255c7a7eec9f0247c19d5d0 Mon Sep 17 00:00:00 2001 From: David Rose Date: Tue, 6 Aug 2002 16:19:53 +0000 Subject: [PATCH] load vfs --- panda/src/audiotraits/milesAudioManager.cxx | 38 ++++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/panda/src/audiotraits/milesAudioManager.cxx b/panda/src/audiotraits/milesAudioManager.cxx index c5add623c2..137989401e 100644 --- a/panda/src/audiotraits/milesAudioManager.cxx +++ b/panda/src/audiotraits/milesAudioManager.cxx @@ -24,6 +24,8 @@ #include "milesAudioManager.h" #include "config_audio.h" #include "config_util.h" +#include "config_express.h" +#include "virtualFileSystem.h" #include int MilesAudioManager::_active_managers; @@ -167,9 +169,21 @@ is_valid() { //////////////////////////////////////////////////////////////////// HAUDIO MilesAudioManager:: load(Filename file_name) { - string stmp = file_name.to_os_specific(); - audio_debug(" \"" << stmp << "\""); - HAUDIO audio = AIL_quick_load(stmp.c_str()); + HAUDIO audio; + + if (use_vfs) { + VirtualFileSystem *vfs = VirtualFileSystem::get_global_ptr(); + audio_debug(" vfs load \"" << file_name << "\""); + string audio_data; + vfs->read_file(file_name, audio_data); + audio = AIL_quick_load_mem(audio_data.data(), audio_data.size()); + + } else { + string stmp = file_name.to_os_specific(); + audio_debug(" \"" << stmp << "\""); + audio = AIL_quick_load(stmp.c_str()); + } + if (!audio) { audio_debug(" MilesAudioManager::load failed "<resolve_filename(path, get_sound_path()); + } else { + path.resolve_filename(get_sound_path()); + } + audio_debug(" resolved file_name is '"<resolve_filename(path, get_sound_path()); + } else { + path.resolve_filename(get_sound_path()); + } + audio_debug(" path=\""<