• v0.0-dev6 3c77e5064b

    ColinTimBarndt released this 2025-10-08 02:50:08 +02:00 | 1 commits to main since this release

    Full Changelog: https://github.com/ColinTimBarndt/resonite-wasm-experiments/compare/v0.0-dev5...v0.0-dev6
    wasm-weaver is a compilation tool which can be used instead of cargo. It modifies the assembly code to replace generated metadata.
    The plugin did not change, so it is not included in this release.

    Downloads
  • v0.0-dev5 2bd8f21455

    ColinTimBarndt released this 2025-10-08 02:20:49 +02:00 | 2 commits to main since this release

    Full Changelog: https://github.com/ColinTimBarndt/resonite-wasm-experiments/compare/v0.0-dev4...v0.0-dev5
    This release adds a standardized C interface for interacting with the game engine from within a WebAssembly module.
    I've also written a Rust bindings library.

    Downloads
  • v0.0-dev4 5aefdbab55

    ColinTimBarndt released this 2025-10-07 04:22:51 +02:00 | 4 commits to main since this release

    I fixed globals on the nodes, so they should update their internal WASM function reference automatically, which would have caused a crash previously. And I added a text based module asset which lets you type assembly code in the game and see the output live.

    As stated in previous releases, you need to install the Wasmtime DLLs/SOs next to the plugin files and you need to replace Mono.Cecil.dll with my patched version (otherwise the game will crash when loading the plugin).

    Downloads
  • v0.0-dev3 24d58257da

    v0.0-dev3 Pre-release

    ColinTimBarndt released this 2025-10-05 10:25:47 +02:00 | 5 commits to main since this release

    Full Changelog: https://github.com/ColinTimBarndt/resonite-wasm-experiments/compare/v0.0-dev2...v0.0-dev3

    • Fixed action nodes
    • some code cleanup and documentation
    • WASM Instance components no longer expose the function signature types.
    Downloads
  • v0.0-dev2 1b3d56de3f

    ColinTimBarndt released this 2025-10-04 08:33:24 +02:00 | 8 commits to main since this release

    The instructions for the previous version still apply. I only uploaded the plugin files for this release because only those have changed.

    • Implemented an abstract JIT compiler for ProtoFlux nodes to generate node wrapping WebAssembly function exports
    • Made the function of the node a global
    • Added Function Nodes in addition to the previous Action Flow Nodes using the new JIT compiler
    Downloads
  • v0.0-dev1 17f4dc3d0e

    First prototype Pre-release

    ColinTimBarndt released this 2025-10-03 11:14:07 +02:00 | 9 commits to main since this release

    This version supports

    • Loading WASM files through ProtoFlux. This is the only way to import modules at the moment because Plugins can't modify the import mechanism to my knowledge.
    • Loading Modules as assets (StaticWebAssemblyModule component)
    • Instantiating Modules (WebAssemblyInstance component)
    • Calling exported WebAssembly functions in ProtoFlux (WebAssembly/Call Function, drag&drop the "Item:" text from the exports bag on an instance component onto the node)

    If you install the MonkeyLoader companion mod, you will be able to see and edit the new SyncElementStruct generic collection. The mod only patches the worker inspector UI generation. The required editor component is provided by the plugin.

    You will need to replace Mono.Cecil in your Resonite folder by a patched version. If you're using MonkeyLoader, replace it there as well (or make a symlink). For more info, see https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/5656.

    You will also need to install the Wasmtime DLLs. Download the package, open it as a zip file and put the DLLs and SOs next to the plugin DLL.

    Downloads