Spaces:
Running
Running
| /* | |
| * Copyright (c) 2013-2025 Vanessa Freudenberg | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is | |
| * furnished to do so, subject to the following conditions: | |
| * | |
| * The above copyright notice and this permission notice shall be included in | |
| * all copies or substantial portions of the Software. | |
| * | |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| * THE SOFTWARE. | |
| */ | |
| ; | |
| ////////////////////////////////////////////////////////////////////////////// | |
| // This loads SqueakJS as a Lively module | |
| // Refer to lively/README.md for running the visual VM debugger | |
| ////////////////////////////////////////////////////////////////////////////// | |
| module('users.SqueakJS.squeak_lively').requires().toRun(function() { | |
| Object.extend(users.SqueakJS.squeak_lively, { | |
| loadSqueak: function(thenDo) { | |
| // bail out if loaded already | |
| if (Global.Squeak) return thenDo && thenDo(); | |
| // otherwise, load all | |
| var files = [ | |
| "globals.js", | |
| "vm.js", | |
| "vm.object.js", | |
| "vm.object.spur.js", | |
| "vm.image.js", | |
| "vm.interpreter.js", | |
| "vm.interpreter.proxy.js", | |
| "vm.instruction.stream.js", | |
| "vm.instruction.stream.sista.js", | |
| "vm.instruction.printer.js", | |
| "vm.primitives.js", | |
| "jit.js", | |
| "vm.audio.browser.js", | |
| "vm.display.js", | |
| "vm.display.browser.js", | |
| "vm.files.browser.js", | |
| "vm.input.js", | |
| "vm.input.browser.js", | |
| "vm.plugins.js", | |
| "vm.plugins.ffi.js", | |
| "vm.plugins.javascript.js", | |
| "vm.plugins.obsolete.js", | |
| "vm.plugins.drop.browser.js", | |
| "vm.plugins.file.browser.js", | |
| "vm.plugins.jpeg2.browser.js", | |
| "vm.plugins.scratch.browser.js", | |
| "vm.plugins.sound.browser.js", | |
| "plugins/ADPCMCodecPlugin.js", | |
| "plugins/B2DPlugin.js", | |
| "plugins/BitBltPlugin.js", | |
| "plugins/CroquetPlugin.js", | |
| "plugins/FFTPlugin.js", | |
| "plugins/FloatArrayPlugin.js", | |
| "plugins/GeniePlugin.js", | |
| "plugins/JPEGReaderPlugin.js", | |
| "plugins/KedamaPlugin.js", | |
| "plugins/KedamaPlugin2.js", | |
| "plugins/Klatt.js", | |
| "plugins/LargeIntegers.js", | |
| "plugins/Matrix2x3Plugin.js", | |
| "plugins/MiscPrimitivePlugin.js", | |
| "plugins/ScratchPlugin.js", | |
| "plugins/SocketPlugin.js", | |
| "plugins/SpeechPlugin.js", | |
| "plugins/SqueakSSL.js", | |
| "plugins/SoundGenerationPlugin.js", | |
| "plugins/StarSqueakPlugin.js", | |
| "plugins/ZipPlugin.js", | |
| "lib/lz-string.js", | |
| "lib/jszip.js", | |
| "lib/FileSaver.js", | |
| "lib/sha1.js", | |
| ]; | |
| var base = URL.root.withFilename("users/SqueakJS/"); | |
| JSLoader.resolveAndLoadAll(base, files, function() { | |
| Object.extend(Squeak, { | |
| vmPath: "/", | |
| platformSubtype: "Browser", | |
| osVersion: navigator.userAgent, // might want to parse | |
| windowSystem: "HTML", | |
| }); | |
| if (thenDo) thenDo(); | |
| }); | |
| }, | |
| }); | |
| }); | |