$40 - Porting ActionScript 3 project to Haxe/OpenFL -> JavaScript


I hope this type of post if welcome here; if not, I’m very sorry.

There is a particular ActionScript 3 project I am very intested in: game-music-emu-flash. It compiles into a .swf to be used on a web page to play music files from many retro consoles such as the SNES.

I have been trying to convert the project to Haxe / OpenFL and have JS as the target, so that the project can easily be used on mobile. The thing is, I keep running into compilation errors that I am unable to comprehend or fix despite my best attempts. Among others, some of these errors are related to classes contained in a .swc file; I understand it should still be possible to use them directly from the file, but I have been unsuccessful so far.

I have reached a point where I’m about to give up, but I’m thinking someone more experienced & talented than me might be able to do it. I’m offering a $40 USD reward (through Paypal) for grabbing the above project, porting it to Haxe, compiling it to a JS target. It has to work (e.g. be able to play a given SPC file) as is on the latest Chrome / Firefox versions, and the Haxe source has to be provided with compilation instructions (or, ideally, a FlashDevelop project).

If you’re up for it, please check with me first in case someone else has done it between this post and the moment you’re reading it.

Thank you very much for reading!

Just my 2¢ but I don’t think you’ll get any takers for $40.

You can’t currently use code from swc outside of Flash so it wouldn’t work in javascript and you’d need the source so it can be converted. Converting from flash to openfl still requires a bit of work and there are still features in development - audio being one of them. There is currently no equivalent to as3 audio sample streaming which I’d guess this app probably uses to play different audio formats.

Audio is one of the most quirky things to get working in pure HTML/JS and many sites still use flash just for that purpose.

Thank you for your reply! This is a bit disappointing, but my expectations were probably way too high. I’m so eager to leave Flash that I may have gotten a bit too excited…

Again, thanks for taking the time to reply - it is very much appreciated!

Cute demo app, but this little project might be a bit misleading as it’s not 100% Actionscript. This appears to be a FlaCC project where the author used Adobe CrossBridge, formally known as Alchemy to convert a C++ library to a SWC. You can see from this GitHub version of the SVN repo that this project is only 3.1% ActionScript and 91.3% C++.

Here is the critical line to see that we are dealing with a FlaCC project

Using this game-music-emu should be possible by creating a nDLL project, you can see extension-gamecenter as an example, but you can only use this sort of project on a C++ Haxe target.

A native Haxe port of game-music-emu would be cool but a sizable project.

Thank you for the detailed reply, this is very interesting. I will stay with Flash for the time being…

If this is mostly C++, perhaps there’s a way to use Emscripten to compile it to JavaScript / asm.js?

This might be interesting:

If we had a JS copy of the library, it would be a matter of porting only the Flash-based wrapper?

Oh, I see now that Hays beat me to it :smile: