The next major development step is a rewrite of love.audio. The current system is based on SDL_mixer, which has a few issues. I'd like to base the next module on OpenAL + SDL_sound instead, which seems pretty solid so far. I'm also considering whether ALUT should be included, which has functions for generating waveforms. In any case, the OpenAL-based audio module will support more file formats, panning, positioning, pitch shifting, and more AL-goodness.
Also, I'm restructuring the internals a little (though I know I'm the only one who cares about this ...). I'm trying to get rid of boost::shared_ptr, because coupled with SWIG, it induces massive bloat in both size and execution time of the generated wrapper code. Besides, SWIG does not handle inheritance between templated types too well. I'm therefore trying to create some sort of Lua-based reference counting system, which will ensure the continued existence of raw-pointers internally. The end-user will in any case not have to worry about this ever; my point is that this will take some undermined amount of time to do.
Third, I'm cosidering whether to include LuaJIT, possibly in the same version as the new love.audio. Check out http://luajit.org/ if you don't know what this means.
Everyone will probably be pleased to hear that the main loop and event handling has been moved to Lua, PyGame style. The current load/update/draw pattern may still be used in its present simplicity; the point is that you now can take control of the main loop if you want, by redefining the love.run function.
Code: Select all
function love.run()
if load then load() end
-- Main loop time.
while true do
love.timer.step()
if update then update(love.timer.getDelta()) end
love.graphics.clear()
if draw then draw() end
-- Process events.
for e,a,b,c in love.system.events() do
if e == love.event_quit then return end
love.handlers[e](a,b,c)
end
love.graphics.present()
end
end
- More flexible image drawing, with better control over texels, colors, vertices, etc.
- A Direct3D-based love.graphics module, identical to the OpenGL one.
I say "I" a lot, and not so much "we" these days, because Mike is largely busy with web projects, octarine lasers, deep-space arithmetic, and so forth. However, somewhere between all the above features, Mike claims he's going to add additional features to truetype fonts, eventually.
We usually get a lot of good, constructive feedback, which is awesome. Most communities turn into an acid cesspool of human filth whenever the user count grows beyond FIVE, but thankfully, LÖVE Club isn't one of them. As always, post suggestions if you have them. We'll LÖVE you for it.
-- rude