As I'm not tracing through the code anymore, the program runs on it's own terms. I am now going to start the task of documenting the code so I know where everything is. Then I will place it in Doxygen. When the documentation is done, I will be squashing the warnings. next. I'm looking for a clean compile. After that it will be the surgical removing of the legacy functionality and and moving what I can into Allego's native functions. This includes all timers, (for example the ones that rely on clock_t from "time.h"), memory allocation, filesystem calls, and many ugly graphics hacks. Allegro has the ability to stuff things like data files and graphic assets into a transparently packed data file. At that time, I'll also be giving the game a much needed resolution boost. For this I'm going to try an experiment where the "native" resolution will be from 0 to 1 on X and Y axis. On each draw it will apply a scalar to allow any size to the display. Sadly much of the graphics are hard coded in their positions so I may have to use 320x200 as my base and use fractional coordinates for higher resolution graphics. The good news is 320x200 is 16:10 aspect ratio because the pixels were not originally square.
For fun I created a vector of the background and scaled it up to 1920x1200 to see what it would look like. It's cooler, but still a but flat. Graphic passes isn't until phase three. The exported vector is below.
|Click for full size|