These alias the standard library unique_ptr and shared_ptr
riscv: Use Unique in many places
Uses lucore::Unique. This should hopefully help memory management somewhat.
lcpu: Use Unique
riscv::System::Create now creates a Unique
so does lucore::Library::OpenExisting
32-bit builds using the development headers work on the legacy 32-bit branch so I don't really see a reason to not support it..
sure, it sucks that I now won't be able to get rid of a pretty gnarly codepath, but /shrug
Another thing checked off the todo list!
Now all I really need to do is uploading (maybe get to work on the project system too?)
This removes the lua test device since it was just that - a test
LuaDevice now works fully, without any weird bugs. Yay!
This took quite a bit of bugstomping to arrive to; some of which ended up discovering I'm not particularly proud of doing. Oops!
The LuaCpu implementation no longer has a UART implementation in C++ (which actually leaked everytime a LuaCpu was garbage collected... Yeesh) - instead the Lua entity code actually implements the UART! Pretty cool to see the fruits of my labor actually working!
The LuaHelpers macros are renamed slightly to make them less of a pain (and also because I think having `_IMPLEMENT` in a function implementation is a bit stupid.)
I have updated the ideas document to better reflect my plans for the project system.
I didn't like how I did it before, and I don't like how right now everything binds a bit differently.
So let's unify it using the way I like (from the LuaDevice binding)!
now i can like, actually finish this thing
i will probably commonize all the stuff the luadevice class is doing right now into its own object, since I think that it would be very useful to have elsewhere. but for now it's not common :(