Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚧 [WIP] FMOD web support (HTML5) #210

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft

🚧 [WIP] FMOD web support (HTML5) #210

wants to merge 7 commits into from

Conversation

bitbrain
Copy link
Contributor

@bitbrain bitbrain commented Apr 6, 2024

Screenshot 2024-04-06 133323


Closes #50

This PR aims to add support for web support via wasm.

Todo

Known issues

SConstruct Outdated Show resolved Hide resolved
@bitbrain
Copy link
Contributor Author

bitbrain commented Apr 11, 2024

This builds fine and GDExtension seems to load in Chrome (Firefox still does not work), but then it fails due to memory issues in the browser:

Screenshot 2024-04-11 062838
Screenshot 2024-04-11 063207

@2shady4u
Copy link
Contributor

Firefix also doesnt work for my SQLite plugin so I assume the issue with Firefox not working is on the side of godot-cpp itself.

@pmdevita
Copy link

pmdevita commented Aug 10, 2024

Hey I've been trying to take a stab at this recently to see if I can help and learn a bit more about C++. What version of emscripten and FMOD are you compiling with? From what I understand, w32 is the recommended format to work with now, why are you using the bitcode binaries instead?

EDIT: This thread on the FMOD forums seems to indicate that statically linking to the wasm binary like the build currently does will cause linking errors, I'm seeing the same ones right now. We may need to include the binaries instead like we do for the other platforms.

@JalikMetagram
Copy link

Hello ! I worked on a little game project using FMOD with Godot using utopia's addon. If you need a tester for this PR with a small game using fmod to make a web export don't hesitate reaching out !

@Evelyn-Hill
Copy link

Hey! wanted to checkup on progress of this/if it's still being worked on. If not, I'd be glad to pick up the torch and get this finished up at least on the code side of things.

@CedNaru
Copy link
Member

CedNaru commented Sep 14, 2024

Feel free to try your hands on it. It hasn't been touched in months.

@bitbrain
Copy link
Contributor Author

I originally raised the PR for this but have not worked on it ever since due to hitting blockers. If anyhbody can figure out how to make it work that would be brilliant.

@Evelyn-Hill
Copy link

I originally raised the PR for this but have not worked on it ever since due to hitting blockers. If anyhbody can figure out how to make it work that would be brilliant.

Could I ask what issues you ran into other than the Memory stuff listed above? I'm going to take a crack at it soon.

@BigOrangeBoy
Copy link

I use GoDot and FMOD and I would pay someone to finish this

@Lvl50Hornist
Copy link

I would also pay for this to be completed. xD Someone, anyone take my money.

@pmdevita
Copy link

pmdevita commented Dec 18, 2024

Opened a new thread on the forums, maybe this will help us get somewhere https://qa.fmod.com/t/emscripten-linking-errors/22429

EDIT: One of the FMOD devs said they are going to look into the situation, hopefully they will come up with some sort of solution for us

Just to add some extra info, this solution where we statically build the FMOD GDextension against the shared object library is actually against FMOD's EULA since we would technically be distributing a "tool for an end-user application". It seems a bit unfair that way, the only allowed option would be to compile FMOD into Godot, and all of that effort would be just for distributing Godot FMOD HTML5 games. I'm hoping we can dynamically link it like we do on the other platforms or (long shot but fingers crossed) they make some kind of exception in the EULA for us and other 3rd party engines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

FMOD web support (HTML5)
8 participants