Giter Site home page Giter Site logo

Building a WASM about soloud HOT 5 OPEN

bernardbaker avatar bernardbaker commented on May 20, 2024
Building a WASM

from soloud.

Comments (5)

konsumer avatar konsumer commented on May 20, 2024 1

You can also see some 1-off emscripten-builds in demos/emscripten, but it looks like the file-paths are messed up for preloaded assets.

from soloud.

konsumer avatar konsumer commented on May 20, 2024 1

Played with it a bunch on my fork and I still can't get the right combo of engine/flags/js to be able to reach into the wasm and play things, but I think it's a start.

from soloud.

bernardbaker avatar bernardbaker commented on May 20, 2024

@jarikomppa hello... Do you have time to look at this?

from soloud.

konsumer avatar konsumer commented on May 20, 2024

I did this on OSX to get wasm (using cmake, which you can install with brew install cmake):

git clone https://github.com/jarikomppa/soloud.git
cd soloud/build
emcmake cmake -DSOLOUD_BACKEND_SDL2=OFF -DSOLOUD_C_API=ON -DSOLOUD_BACKEND_NULL=ON -DSOLOUD_BUILD_DEMOS=ON ../contrib
make

This gives me libsoloud.a, which is a static lib for emscripten. It also builds the demos as wasm.

SoLoud_enumerate.js
SoLoud_enumerate.wasm
SoLoud_null.js
SoLoud_null.wasm
SoLoud_simplest.js
SoLoud_simplest.wasm
SoLoud_welcome.js
SoLoud_welcome.wasm
libsoloud.a

If you want to turn the .a file into a big wasm/js library:

emcc -s LINKABLE=1 -s EXPORT_ALL=1 libsoloud.a -o soloud.js

This exports a ton of random things, so is probably not exactly the right way (would be better to surgically export what you are actually using, from a C file with EMSCRIPTEN_KEEPALIVE instead of EXPORT_ALL.)

from soloud.

konsumer avatar konsumer commented on May 20, 2024

@ChaseCarlson why 😕 ?

If you have a look here you can see it references ../../bin/graphics/ which should be bin/, but that dir does not exist. It's not in the repo:

find . -name soloud_bg.png

Is it somewhere else?

from soloud.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.