diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-15 18:15:12 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-15 18:15:12 -0700 |
commit | 3fc8b5c9b7fd5393d936caad6a9ceb1923509fe6 (patch) | |
tree | e4ea021dc7a2bd88bc2b19223800e3ba9a2687e0 /src | |
parent | 7e78583ff2d44d669d969054e46167a0fb865b21 (diff) |
preload images for SDL
Diffstat (limited to 'src')
-rw-r--r-- | src/library_sdl.js | 10 | ||||
-rw-r--r-- | src/preamble.js | 4 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js index e741faeb..3f5a8a87 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -478,14 +478,8 @@ mergeInto(LibraryManager.library, { IMG_Load: function(filename) { filename = Pointer_stringify(filename); - var format = filename.split('.').slice(-1)[0]; - var file = FS.analyzePath(filename); - if (!file || !file.object) { - console.log('Cannot find file: ' + filename); - return 0; - } - var data = file.object.contents; - var raw = Browser.decodeImage(data, format); + var raw = preloadedImages[filename]; + assert(raw, 'Cannot find preloaded image ' + filename); var surf = SDL.makeSurface(raw.width, raw.height, 0); // XXX Extremely inefficient! for (var i = 0; i < raw.width*raw.height*4; i++) { diff --git a/src/preamble.js b/src/preamble.js index 1e68295f..1c599836 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -892,5 +892,9 @@ function removeRunDependency() { if (runDependencies == 0) run(); } +// Preloading + +var preloadedImages = {}; // maps url to image data + // === Body === |