From 5aca1dcceb7f83a1f7e734745d90911c6c0421b9 Mon Sep 17 00:00:00 2001 From: florianf Date: Sun, 28 Feb 2010 18:03:30 +0000 Subject: [PATCH] lisp/parser.cpp: Use absolute directory when talking to the dictionary manager. git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6457 837edb03-e0f3-0310-88ca-d4d4e8b29345 --- src/lisp/parser.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lisp/parser.cpp b/src/lisp/parser.cpp index fad69a111..d827c61ee 100644 --- a/src/lisp/parser.cpp +++ b/src/lisp/parser.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "lisp/lisp.hpp" #include "lisp/parser.hpp" @@ -24,6 +25,7 @@ #include "physfs/ifile_stream.hpp" #include "physfs/ifile_streambuf.hpp" #include "supertux/globals.hpp" +#include "util/log.hpp" #include "supertux/gameconfig.hpp" @@ -76,7 +78,14 @@ Parser::parse(const std::string& filename) } if(dictionary_manager) { - dictionary_manager->add_directory(dirname(filename)); + std::string rel_dir = dirname (filename); + char **searchpath = PHYSFS_getSearchPath(); + for(char** i = searchpath; *i != NULL; i++) + { + std::string abs_dir = std::string (*i) + PHYSFS_getDirSeparator () + rel_dir; + log_debug << "Adding " << abs_dir << std::endl; + dictionary_manager->add_directory (abs_dir); + } dictionary = & (dictionary_manager->get_dictionary()); } -- 2.11.0