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

[Enhancement] HashLink compatibility #19

Open
SomeGuyWhoLovesCoding opened this issue Apr 17, 2024 · 2 comments
Open

[Enhancement] HashLink compatibility #19

SomeGuyWhoLovesCoding opened this issue Apr 17, 2024 · 2 comments

Comments

@SomeGuyWhoLovesCoding
Copy link

So, you might be wondering that fmod is only supported on hxcpp. Well, I'm curious to see if you would add hl support to this haxelib.

@Tanz0rz
Copy link
Owner

Tanz0rz commented Apr 17, 2024

The way this is currently designed makes HashLink support very challenging. The original implementation supports two languages explicitly:

C++ (here)
Javascript (here)

This library needs to be refactored to only use C++ and Javascript bindings so that the entire implementation can be done exclusively in Haxe. The Haxe-only design was my original plan when I started development on this, but I couldn't figure out how to do it and ended up writing the tool natively in each language. Extending it and changing it is very hard due to this design. Someone did come by a few years ago and attempt to add HashLink support, but the way I wrote the C++ code did not work at all with the HashLink compiler and we eventually gave up.

I plan to refactor this someday, but someone else can jump in if they want and I will help in my free time.

The good news is the tool still works well for web builds (what my team and I use exclusively now). Here is one of our games with the audio powered entirely by haxe-fmod: https://www.newgrounds.com/portal/view/893426

@SomeGuyWhoLovesCoding
Copy link
Author

The way this is currently designed makes HashLink support very challenging. The original implementation supports two languages explicitly:

C++ (here) Javascript (here)

This library needs to be refactored to only use C++ and Javascript bindings so that the entire implementation can be done exclusively in Haxe. The Haxe-only design was my original plan when I started development on this, but I couldn't figure out how to do it and ended up writing the tool natively in each language. Extending it and changing it is very hard due to this design. Someone did come by a few years ago and attempt to add HashLink support, but the way I wrote the C++ code did not work at all with the HashLink compiler and we eventually gave up.

I plan to refactor this someday, but someone else can jump in if they want and I will help in my free time.

The good news is the tool still works well for web builds (what my team and I use exclusively now). Here is one of our games with the audio powered entirely by haxe-fmod: https://www.newgrounds.com/portal/view/893426

Ah well. I might try to add streaming support too.

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

No branches or pull requests

2 participants