honey devlog 2
So, about that audio business...
The original WAV decoding library I found turned out to be pretty useless -- a lot of it was
/* todo */ and the stuff that wasn't was so poorly documented as to be practically unusable. I searched around a bit and eventually found something called miniwav that looked promising. It even had mp3 and ogg cousins! And then I realized that those libraries had been written for a larger project called miniaudio that was more or less what I'd wanted to do with mossrose but better. It's as minimal-dependecy as PortAudio is, but it supports a ton more than my first pass at mossrose, including file decoding, resource caching, and even 3D spatial audio.
honey is now using miniaudio for audio.
I've done other things too! I wrote up a first-pass at assimp bindings, and they seem to work just fine. See for yourself:
That's right, you can now view Suzanne in honey!
This is still just a first pass -- it doesn't import materials, transforms, or animations right now -- but it's definitely good enough for rendering mesh data from honey. Once I'm working more on the Lua side of things and have a better sense of how I'm going to design the native honey data format I'll get the rest of that stuff implemented.
As far as basic C bindings go, that just leaves user input, cairo, and ode -- all of which existed in the pre-refactor version of honey and should (knock on wood) be pretty easy to port over. Once they're done, I'm planning on moving into a more iterative cycle of entering game jams with honey, building tools for the jam, and then refining those tools into actual components of honey itself.