Browse Source

Use model-path as a fallback for rocket asset lookup

Ed Swartz 10 years ago
parent
commit
bb98d8a8a0
1 changed files with 12 additions and 2 deletions
  1. 12 2
      panda/src/rocket/rocketFileInterface.cxx

+ 12 - 2
panda/src/rocket/rocketFileInterface.cxx

@@ -41,8 +41,18 @@ Open(const Rocket::Core::String& path) {
 
   PT(VirtualFile) file = _vfs->get_file(fn);
   if (file == NULL) {
-    rocket_cat.error() << "Failed to find " << fn << "\n";
-    return (Rocket::Core::FileHandle) NULL;
+    // failed?  Try model-path as a Panda-friendly fallback.
+    if (!fn.resolve_filename(get_model_path())) {
+      rocket_cat.error() << "Could not resolve " << fn
+          << " along the model-path (currently: " << get_model_path() << ")\n";
+      return (Rocket::Core::FileHandle) NULL;
+    }
+
+    file = _vfs->get_file(fn);
+    if (file == NULL) {
+      rocket_cat.error() << "Failed to get " << fn << ", found on model-path\n";
+      return (Rocket::Core::FileHandle) NULL;
+    }
   }
 
   istream *str = file->open_read_file(true);