So I never really got far on that project (0 game content made
)
Between my arms feeling like they are going to explode and the state of the engine I just didn't get very far.
HOWEVER because of this project I realized that the engine was the equivalent of a DIY motorbike made from a washing machine and oven stove-top. Meaning I ran into a TON of issues that I wouldn't have noticed other wise.
Most of these issue relate to the structure of the engine and the lack of just very important (and seemingly basic but a lot more complex when you go to code it) stuff.
So the entire time I was working on the engine, which of course isn't a bad thing. But I will continue to work on this project until the deadline is up as it's laying down the ground work, foundation, and structure plus the roof of the engine
Simple form of what I have got done
-Better GUI functions
-GUI is now more dynamic (as in you can resize the screen and the GUI will move to fit the screen if you want to, this was working before but wasn't very widget based)
-Better state checks
-ACTUAL states checks of GUI elements (yea that wasn't really a thing until now
)
-A broken FIFO buffer (which can handle one update every ten or so seconds without blowing up, yea defiantly broken)
-Controller idiot proof (so you cant blowup your program by ripping out the controller during running)
-Reimplemented Particles and sort-of improved their structure to be more reusable and less memory wasteful
-Fixed a position problem in the fonts then rebroke (<-not an actual word) it (word wrapping).
-realized I was stupid and never added in a dead-zone threshold for joysticks (realized this when I got another joystick which is a lot less accurate near the center position) so I added it to the config file to be changed by the end user without having to run the application
-Still haven't solved the collision problem, but did figure out a nicer way to implement it into the rest of the structure.
-and of course the overall structure has been improved to keep the main loop as clean and smooth as possible while retaining the no bugs guarantee sticker I intend on giving it.
simple form of what I realized I need to do, or do better.
-Better widget structure for GUI
-Text functions needs to be converted to just functions and global variables, no point in having a dedicated class and wasting the extra byte ;p
-Text needs to be both AA AND compatible on all platforms (probably multiple rendering modes for text will be the answer for better performance vs compatibility)
-Resource Manager, so you can't accidentally load up more than one copy of a file
-A sorting function for the render functions
-Better rendering structure to support a sorting function
-Clean up OpenGL specific functions to be able to wait less on receiving info from the graphics card
-Make an interpolation or average of the frame rate to remove stuttering that can occur at random times when the OS does stuff in the background
-EVEN BETTER code structure, what I got is just the beginning
And a ton more stuff that doesn't matter as much right now.