After putting a lot of thought into it, it seems really dumb that I used the hpp file format for header files. It looks out of place, but also it’s completely opposite to what people expect when looking at source for a project.
Anyway, after spending 30 minutes renaming and fixing all the linkage issues, and changing the CMakeLists.txt it looks a lot cleaner now.
Today I decided to get the Font class sorted, however I was also dissatisfied with having more than one struct in the engine called Sprite. So now for every struct that represents parsed lua data, I will create source files with the prefix Lua*. This means there is now a LuaSprite.h and a LuaFont.h which should hopefully make it obvious to other codes their purpose.
After building the LuaSprite class, I worked on getting the draw_text method in the Renderer2D class to work with it. At first things were a bit tough as with the draw_sprite method I had only had to deal with 1 argument on the stack. It took a while to figure out how to read other non metatable argument, however I managed to finish it within a good time.
Overall a productive day, and things feel like they are coming into place. Lets see how far I can get tomorrow hey.