aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_sdl.js10
-rw-r--r--src/preamble.js4
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 ===