mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-02 20:58:15 +00:00
fix _end being called before the actual end when using the step function
This commit is contained in:
Vendored
+11
-3
@@ -1676,6 +1676,9 @@ async function runWasm(wasmPath, consoleElement, extraForeignImports) {
|
|||||||
|
|
||||||
exports._start();
|
exports._start();
|
||||||
|
|
||||||
|
// Define a `@export step :: proc(dt: f32) -> (continue: bool) {`
|
||||||
|
// in your app and it will get called every frame.
|
||||||
|
// return `false` to stop the execution of the module.
|
||||||
if (exports.step) {
|
if (exports.step) {
|
||||||
const odin_ctx = exports.default_context_ptr();
|
const odin_ctx = exports.default_context_ptr();
|
||||||
|
|
||||||
@@ -1687,15 +1690,20 @@ async function runWasm(wasmPath, consoleElement, extraForeignImports) {
|
|||||||
|
|
||||||
const dt = (currTimeStamp - prevTimeStamp)*0.001;
|
const dt = (currTimeStamp - prevTimeStamp)*0.001;
|
||||||
prevTimeStamp = currTimeStamp;
|
prevTimeStamp = currTimeStamp;
|
||||||
exports.step(dt, odin_ctx);
|
|
||||||
|
if (!exports.step(dt, odin_ctx)) {
|
||||||
|
exports._end();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
window.requestAnimationFrame(step);
|
window.requestAnimationFrame(step);
|
||||||
};
|
};
|
||||||
|
|
||||||
window.requestAnimationFrame(step);
|
window.requestAnimationFrame(step);
|
||||||
|
} else {
|
||||||
|
exports._end();
|
||||||
}
|
}
|
||||||
|
|
||||||
exports._end();
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user