A 2D game engine. Written in C++, and uses the excellent SFML library for graphics, audio, and windowing.
Uses my Lua binding library for Lua scripting support and my generic filesystem library for filesystem access.
A SFML powered GUI library.
LNA (Lua is Not an Acronym) is a template-based C++ library for simplifying binding Lua and C++ together.
Managing the Lua stack, pushing and popping of variables and values, and manually binding functions and objects are removed from user's list of responsiblities.
A bytecode interpreter VM using registers. It includes an assembly-like intermediate language (IL). Runs in either a REPL or file-input mode.
After using C# for a project, I liked the easy to use ThreadPool included in .NET. Since the C++ standard library doesn't have a built-in thread pool, I made my own.
I like Lua, and got interested in it's structure. I figured a good way to learn would be decompiling it's bytecode. I wanted some more practice with C#, so that's how this came about.
Initially targeting Lua 5.1. *Almost* feature-complete. Once that's done, I'd like to improve the output.
C++ (at least until C++17 most likely) has no standard library file-system access functionality. Writing OS-specific code a lot is annoying, so I wrapped it up into a library. (Currently supports Linux and Windows.)
Feeling brave, and enjoying low-level code, I decided to look into OS development. This was the initial result.
Does not do much, but it does boot, write to the vga terminal, and supports all standard (and documented) features of cpuid.