I'm working on ROE every day, but as the holidays approach, there will be a little bit of a slowdown. First, I can only show so many screenshots of Doxygen as I fill out functions. Second, I'm pieceing together how to implement the graphic updates I want to do. ROE is a strange beast as it's screen is not rendered every frame. It only dynamically updates what's needed. This makes sense as ROE is largely a GUI game and this was written at a time where CPU time was best utilized elsewhere then rendering the screen if it wasn't needed. I would love to give this game a proper render loop, but I'm not sure the current state machine is compatible with that. Also the game does not have a good concept of transparencies in the 24 bit sense so blitting graphics as been proven to be an issue.
During my downtime I want to explore replacing the fonts with actual Truetype fonts. This will make making high-resolution replacement graphics much easier, and also I can replace some of the text print commands in the game with the Allegro TTF counterpart. I'm pretty OK with Inkscape so I can see how well the vector system translates to Truetype. In a perfect world if I can do an SVG import of fonts I would be happy.
Function mapping is taking a while. To best sum it up, I have a partial screenshot of a Doxegen graph for a function showing it's pathing to the endpoints.
And that is why it was called "Spaghetti code". It looks worse then it is. I have the pathing turned up pretty high. By the way, did you know there are other types of "pasta" code as well?
Ravioli code - A pejorative phrase for source code with lots of tiny, tightly-coupled objects.
Lasagna code - Multilayered object code where each layer interface is a near copy of the one above it with little change.
Macaroni code - Code with mixed languages within it, most often abusing the preprosseor # token
Fusilli code - Pejorative phrase to describe marketer-driven programming with a spin to make bad code look good.
(The was shamelessly stolen from Wikipedia)