Browse Source

fix for #7210 - sandbox now loads relatively pathed textures to same folder

removing comment
Kyle Belfort 5 years ago
parent
commit
bcb3881ff4
1 changed files with 7 additions and 4 deletions
  1. 7 4
      src/Misc/fileTools.ts

+ 7 - 4
src/Misc/fileTools.ts

@@ -87,7 +87,11 @@ export class FileTools {
      * Gets or sets a function used to pre-process url before using them to load assets
      */
     public static PreprocessUrl = (url: string) => {
-        return url;
+        let processedURL = url.substring(5).toLowerCase();
+        if (processedURL.indexOf('./') === 0) {
+            processedURL = processedURL.substring(2);
+          }
+        return processedURL;
     }
 
     /**
@@ -150,7 +154,6 @@ export class FileTools {
         }
         else {
             url = this._CleanUrl(input);
-            url = this.PreprocessUrl(input);
         }
 
         if (typeof Image === "undefined") {
@@ -301,7 +304,8 @@ export class FileTools {
     public static LoadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void): IFileRequest {
         // If file and file input are set
         if (url.indexOf("file:") !== -1) {
-            const fileName = decodeURIComponent(url.substring(5).toLowerCase());
+            const processedUrl = this.PreprocessUrl(url);
+            const fileName = decodeURIComponent(processedUrl);
             const file = FilesInputStore.FilesToLoad[fileName];
             if (file) {
                 return this.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? (error) => onError(undefined, new LoadFileError(error.message, error.file)) : undefined);
@@ -327,7 +331,6 @@ export class FileTools {
      */
     public static RequestFile(url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest) => void, onProgress?: (event: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (error: RequestFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest {
         url = this._CleanUrl(url);
-        url = this.PreprocessUrl(url);
 
         const loadUrl = this.BaseUrl + url;