It has been a while since I have done anything with this but I cleaned up some of my code. I would have liked to fully flesh out the "depth" system so that it works more similarly to Game Maker depth-setting but this likely requires building the OBJ_ATTR all_pieces array I have via a sorting algorithm. Additionally though, I "simplified" the sprite animation such that I no longer separate out what I considered normal animations (e.g., 1 image displaying for 4 frames, next image displaying for 4 frames) and special animations (e.g., 1 image displaying for 4 frames, next image displaying for 48 frames) - instead they are all handled as special animations (it uses more space but functionally it should be faster). I also broke up non-loaded images (basically sprites that are preloaded into memory) from sprites to avoid checking on each draw if the image was preloaded or not. The sprite system also only initializes the pieces which had been used previously instead of reinitializing every piece.

Major changes:
- beginnings of a room system
- a palette swapping system
- an object system with dynamic memory allocation
- a more efficient sprite system
- some fancy bit-manipulations
code is attached!
Edit: I've removed the source code attachment due to it getting downloaded at least 16 times by other people with no feedback or thank you comment whatsoever - considering the same with my Pokemon Engine for the same reason. I'm still working on aspects of this (namely collision detections and HUD currently) and will post that at some point later.