The state is now a global variable declared in asajj.cpp
Successfully spawned two pthreads, let them work and access their
results from the main thread.
Threading now includes communication via mutexes and condition
variables.
Created new branch to do some testing with Lua scripts
Basic setup to execute Lua code from asajj is in place. Linked against
LuaJIT.
Set up the linker and includes to compile against LuaJIT
A Lua script is loaded, a Lua function from that script is called from C
and the script in turn calls one of Asajjs functions to print text to a
buffer. Concept proven, real work can begin.
After lots of segfaults I decided to implement a very basic logger to
write some info to file, which allowed me to find some nasty bugs in the
rendering code in core.cpp. Now the program is running, several buffers
are drawn (poorly) and the bebugging can continue. Nevertheless this has
been valuable work.
The buffer layout is now correctly calculated.
Split up core_init into three maintainable functions.
Simplified the public interface of the core module.
Sketched out a new module for the queue. It only contains some threading
logic and mostly empty placeholder functions but will later describe the
queue data structure and implement a (hopefully minimal) interface to
add new jobs to the queue that will then be handled in the background.
Cleaned up all code in asajj.cpp related to threading as there is now a
clean prototype in queue.cpp.
Moved the code to initialize the Lua VM to its own initialization
function in core.
Added a basic roadmap to the readme.
Added utility functions to easily get floats from the Lua environment
and kill the program upon fatal errors.
Implemented loading of runtime config from file upon initialization
So, yeah, when implementing the loading of a runtime config from a
file, one should also include said config file to the commit.