From af88db267f4748cc0dbaa298185d59ba12b25663 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Fri, 20 May 2011 07:44:53 -0400 Subject: [PATCH] fix loadSound() --- src/Engine.cc | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Engine.cc b/src/Engine.cc index a829727..24e89fa 100644 --- a/src/Engine.cc +++ b/src/Engine.cc @@ -631,21 +631,24 @@ int Engine::loadModel(const string & name, bool is_static, bool is_reference, int Engine::loadSound(const string & name) { - string nm = name; - if (validatePath(nm)) + if (validatePath(name)) { - FileLoader::Path path("", nm); + string nm = locateResource(name.c_str()); refptr avs = m_av.createSound(); - if (avs->load(*m_fileLoader, path)) + unsigned int size; + unsigned char *data = loadFile(nm.c_str(), &size); + if (data != NULL) { - return addSound(avs); - } - else - { - cerr << "error loading sound '" << name << "'" << endl; + if (avs->load(data, size)) + { + /* TODO: memory leak, fix with buffer */ + return addSound(avs); + } + free(data); } + cerr << "error loading sound '" << name << "'" << endl; } return 0; }