Coder Social home page Coder Social logo

Comments (19)

2shady4u avatar 2shady4u commented on August 26, 2024 3

@YoannClaude @CedNaru @piiertho I'm currently working on trying to get a HTML5 build up and running in this branch:
https://github.com/2shady4u/fmod-gdnative/tree/web-export

However, I'm running into some problems to link the FMOD libraries:
https://github.com/2shady4u/fmod-gdnative/runs/2305156716?check_suite_focus=true

Current errors:

wasm-ld: error: /home/runner/work/fmod-gdnative/libs/fmod/javascript/core/lib/bitcode/fmod.bc: machine type must be wasm32 or wasm64
wasm-ld: error: /home/runner/work/fmod-gdnative/libs/fmod/javascript/studio/lib/bitcode/fmodstudio.bc: machine type must be wasm32 or wasm64

Any help is appreciated + I might open a preliminary PR for this
Also the utopia-rise/godot-cpp will have to be updated to support this!

from fmod-gdextension.

CedNaru avatar CedNaru commented on August 26, 2024 3

Hello,
We have no date for that feature as it's not a priority (among our different projects, not just the FMOD plugin).
Most likely we will wait for Godot 4 as the whole GDNative system will be changed and probably the way we export too.
We have no experience at all when it comes to HTML5 so we better not take time to investigate a method that will likely change in the next 6 months as Godot 4 become stable.
Of course, if someone is willing to do it themselves and PR it for the current Godot 3.x, we will accept it.

from fmod-gdextension.

Christovftw avatar Christovftw commented on August 26, 2024 1

Would also really like to use this integration with godot but I need to target an HTML5/wasm build, any news on if this will be available?

from fmod-gdextension.

CedNaru avatar CedNaru commented on August 26, 2024

Hi,
I have no knowledge about wasm so I might say something wrong.

For a GDnative lib to run in a browser, I guess you need to compile them with the WASM target which might be possible by updating the scons. The main issue is that our FMOD bindings use another dynamic library, FMOD itself.
So at first glance, I think it won't be possible unless FMOD provides us a lib compiled for that platform.
Also from what I see in this Godot PR, you can only choose one option between enabling threads or enabling Gdnative.
But FMOD uses several threads so we would need both to work on browser.

I'll check that more in detail when the Godot 3.2.4 is officially out, hoping there is some doc about it.

from fmod-gdextension.

CedNaru avatar CedNaru commented on August 26, 2024

Ho so it seems that's FMOD got a HTML5 target already
HTML5 Fmod

I guess I never paid attention to that. So it might be possible.
Well, the hell of dynamic linking with HTML5 is waiting for me it seems.

from fmod-gdextension.

Waissi avatar Waissi commented on August 26, 2024

Well, I am sure I have even less knowledge about all this :D
However, here is one thing I know:
Fmod has an htlm5 target indeed, and there are Fmod plugins for game engines such as Unity and Defold that run pretty well on html5 (and afaik Unity runs in a single thread).
That being said, thanks for the time involved and good luck with the linking hell ;)

from fmod-gdextension.

CedNaru avatar CedNaru commented on August 26, 2024

I'll add that to the list of tasks for the 2.0 version.
Like said in the other issues, we are already busy with another project right now. So it's going to take time before we add that export.

from fmod-gdextension.

piiertho avatar piiertho commented on August 26, 2024

I think this is less a priority than fmod nodes. I'll look at godot-cpp modifications on HTML5 when we get less work on Godot kotlin

from fmod-gdextension.

2shady4u avatar 2shady4u commented on August 26, 2024

Getting these kind of errors now:
image

(recompiling with -fPIC is impossible since I can't recompile the FMOD libraries myself)

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

Any news on this considering that we recently upgraded to the latest FMOD version?

from fmod-gdextension.

2shady4u avatar 2shady4u commented on August 26, 2024

Would also really like to use this integration with godot but I need to target an HTML5/wasm build, any news on if this will be available?

I've updated my testing branch https://github.com/2shady4u/fmod-gdnative/tree/web-export to the latest master of this repository and I've tried to compile the plugin for web (again)

Unfortunately the same issues seems to persist šŸ¤· As before, I have no idea how to fix them

If you are feeling adventurous you can check out my changes in that branch

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

Might be related: WebAssembly/wasi-sdk#209 it looks like the -shared flag is not supported (yet)

Here is the issue discussion on the llvm repo itself: llvm/llvm-project#42738

Any way we can maybe circumvent that?

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

Once #123 is finished, we might be able to finally address this for Godot 4 - GDExtension does not have HTML5 support yet since Godot 4.0 will not support browsers properly but it definitely will in future.

from fmod-gdextension.

RafaelVidaurre avatar RafaelVidaurre commented on August 26, 2024

@bitbrain do you think this will work for Godot 3.5 HTML5 eventually? Or is it the plan to skip 3.5?

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

@RafaelVidaurre my hope is that after we get it working with Godot 4.x that we can apply some bits to the Godot 3 branch to get it working. The main hurdle currently is that Godot 4 does not support HTML5 yet (as it requires GLES3 for this) and currently only Vulkan Desktop and Vulkan Mobile is supported in Godot 4.alpha13

Perhaps somebody might be able to resurrect the Godot 3 compatible branch by @2shady4u and have another try with Godot 3.5

from fmod-gdextension.

piiertho avatar piiertho commented on August 26, 2024

On my side Iā€™m experiencing troubles with the cmake file, so nothing is recognise in Clion

from fmod-gdextension.

safernan121 avatar safernan121 commented on August 26, 2024

I was wondering what's the current state of this issue for Godot 4.x
Any breakthroughs to make the html5 export work with fmod?

Thanks in advance!

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

Looks like there is some progress on godotengine/godot-cpp#1247 and we can soon re-attempt this.

from fmod-gdextension.

bitbrain avatar bitbrain commented on August 26, 2024

I will do an attempt at this in the following week after #181 gets merged.

from fmod-gdextension.

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.