I’m trying to create a simple loader which then loads the rest of the game using live update feature.
But as soon as I try to get current manifest: local manifest = resource.get_current_manifest(), the project fails to load on html5 with the error:
“Resource not found: /main/loader.scriptc”. loader.script is the main script for it. And then there’s bunch of other error messages like “Unable to create resource: /main/loader.collectionc” and “Pure virtual function called!” in the console.
I’ve created test project to show this. If you’re going to run it on your server, you will need to replace SERVER_URL variable in the loader.script, pointing to a folder with the index.html file (and the rest of the bundle)
Started investigating the problem. First important thing to note is that it works when bundling and running on macOS. The manifest is found and I can iterate missing resources. Next step is to try HTML5. Will update this post with findings.
Ok, so I bundled an HTML5 version and exported live update content. I unzipped both in the same folder and modified the URL in your example to match the folder where the live update content was located. Next I ran a local HTTP server and ran the game from there and the manifest was found and I could iterate the resources.
I still experience this problem from time to time. Not only in Firefox, but on Chrome as well. It happens when I update the game. Once in a while it just stops loading with the error in the console:
WARNING:ENGINE: Unable to load bootstrap data.
27
27
exception thrown: abort(27). Build with -s ASSERTIONS=1 for more info.
INFO:CRASH: Successfully wrote Crashdump to file: /data/.Defold/_crash
Exception thrown, see JavaScript console
Error: WebGL warning: <SetDimensions>: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Error: WebGL warning: getParameter: pname: invalid enum value MAX_ELEMENTS_VERTICES
Error: WebGL warning: getParameter: pname: invalid enum value MAX_ELEMENTS_INDICES
uncaught exception: abort(27). Build with -s ASSERTIONS=1 for more info.
The only thing that helps is to delete storage folder in Firefox. I’ve made it so that the loader and the resources to which archive_location_filter applies always load from the new url to prevent them from caching, but it doesn’t help. What can I do to investigate this problem deeper? Is there any way to find out what bootstrap data it cannot load?