Hey Folks! I think we may be, dare I say it, done? As of about 3pm today, I was able to compile and run NEO Scavenger Haxe edition on all three platforms without crashes!
90% of my day was spent futilely poking the code and flailing about, rebuilding the entire dll and game projects each time, hoping to see the needle move even a little. I even got down and dirty into some byte allocation/deallocation code, thinking I could wiggle past the malloc bug plaguing me on OSX/Linux.
In the end, I stumbled back over an old (2015!) thread in which someone else was having a similar issue. Only this time, I noticed something I missed before: Lars Doucet was mentioned as posting a fix to the exact issue I was having!
It turns out that my project code, being frozen at Lime version 2.9.1, just missed Lars's embedded audio fix in 3.0.0. Changing a Bytes(data) call to a Bytes() call followed by Bytes.Set(data) was all it needed. Changing that deep inside the dll and recompiling solved all the issues.
Further evidencing the fact that I am just a past-life incarnation of Lars, following his every step :)
Anyway, assuming there isn't an explosion over the weekend or anything, I plan to compile some release builds of the game and begin the uploading process. Definitely as a test build on the BBG site, and maybe also in the test branch on Steam, too. I won't post anywhere else until a few folks have tried it without exploding, since I don't want to replace the only working builds on GOG/Humble with broken ones.
We're almost there, folks. Have a good weekend, and prepare for an interesting week!