From 81e8956dd5b1730b7f5721908e2ce4f197d8d196 Mon Sep 17 00:00:00 2001 From: hybrid Date: Wed, 20 Feb 2008 17:17:42 +0000 Subject: [PATCH] Fixed a crash in the collada 1.4 loader, also added better texture search. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1250 dfc29bdd-3216-0410-991c-e03cc46cb475 --- source/Irrlicht/CColladaFileLoader.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/source/Irrlicht/CColladaFileLoader.cpp b/source/Irrlicht/CColladaFileLoader.cpp index 42390574..63b9f54c 100644 --- a/source/Irrlicht/CColladaFileLoader.cpp +++ b/source/Irrlicht/CColladaFileLoader.cpp @@ -487,8 +487,6 @@ void CColladaFileLoader::readLibrarySection(io::IXMLReaderUTF8* reader) CScenePrefab p(""); readNodeSection(reader, SceneManager->getRootSceneNode(), &p); - for (u32 i=0; igetNodeName()) @@ -2494,7 +2492,11 @@ video::ITexture* CColladaFileLoader::getTextureFromImage(core::stringc uri) if (uri == Images[i].Id) { if (Images[i].Source.size() && Images[i].SourceIsFilename) - return driver->getTexture(Images[i].Source.c_str()); + { + if (FileSystem->existFile(Images[i].Source.c_str())) + return driver->getTexture(Images[i].Source.c_str()); + return driver->getTexture((FileSystem->getFileDir(CurrentlyLoadingMesh)+"/"+Images[i].Source).c_str()); + } else if (Images[i].Source.size()) {