ctr.root is not exactly the path to ctruLua.3dsx minus the file name, but is equivalent with HBL and $
(other launchers may work too, and it works perfectly with Citra), and is "romfs:/" if romfs is enabl$
Also replaced make build-doc with make build-doc-html so we can easily add new documentation formats in the future.
To add ctrµLua API autocompletion to Sublime Text, simply copy the output directory (doc/sublimetext) to your ST's package directory.
To communicate with a thread, use sockets on localhost, this should work.
Or use the return code, or the "last error", but that's crappy.
For the return code, just `return <number>`; only works with integers.
Tremor is extremly similar to libogg but only uses integers (and doesn't provide an encoder). The playing problem with libvorbis was probably a float-precision related issue.
No need for make build-all.
Added libogg, libvorbis and libvorbisfile to 3ds_portlibs. You will need to compile thems using make build-portlibs. Opening OGG files works but they play badly.
Added a very simple error handler in main.lua
Added audio example.
Renamed isGfxInitialised to isGfxInitialized.
Did you know? The audio module is the longest ctrµLua module.
Untested, but checked 3 times with citra, and everything matches the doc.
Warning: there is no check of any kind, so don't put weird stuff as arguments.
As the color order of the sf2dlib changed, you have to change it in your code, or use the color.hex() function.
To fix the problems, just change "0xRRGGBBAA" to "0xAABBGGRR".
Also, the shader compiler changed to Picasso, so you'll need it in order to compile.
https://github.com/fincs/picasso
The library path can now be easlily modified.
Instead of always launching /3ds/ctruLua/main.lua, ctruLua will now launch the main.lua in the current directory (the ctruLua.3dsx directory when launched with HBL).
On citra, this will be the root of the sdmc directory.
I didn't find a server/protocol to test the UDP sockets, so I didn't test.
Also, there's no built-in "pseudo-connected" mode, you have to manage it in your code.