----
Well, turns out there was a nasty bug (my fault of course) in nightly builds for the whole last month, where pressing [ or ] in the spriteset editor would overwrite one palette with another. This is fixed in nightly builds, so make sure you download the fixed version if affected.
Time for a small update (better small and boring than put off forever). Battles used to look like this at higher resolutions:
I fixed this to draw the battle as normal in the center of the screen, still 320x200, surrounded by black bars. But that still looks pretty bad so I wondered if I could do better without converting the whole battlesystem to slices.
But ti seems there's much more work required than just support for backdrops larger than 320x200 and changing the limits in the formation editor to allow placing enemies over the larger area. The menus at least ought to be moved; running animations, attacks flying on/off screen, and the Jump animation all need to be updated. So, later.
Anyway, I spent a couple of days on, you guessed it, a whole lot of code cleanup. (I'll throw in a few technical details today.) I don't know why.
I've been upset for a long time that we had a lot of code like
Code: Select all
edgeprint gam.hero(sp.hero).name, xstring(gam.hero(sp.hero).name, 206), 31, uilook(uiText), sp.page
I wanted a way to set anchor and alignment points for text and other stuff without having to convert to slices, so I came up with a system where a single number encodes the offset, anchor point, align point, and other flags. For example "rRight - 20" ('r' for relative) means 20 pixels from the right edge of the screen, and "rCenter + ancCenter" means anchor the center of the object to the center of the screen... basically I've reimplemented part of the slice system :/
Code: Select all
edgeprint gam.hero(sp.hero).name, ancCenter + 206, 31, uilook(uiText), sp.page
Code: Select all
edgeprint RIGHT(cost_caption, 30), vpages(dpage)->w - textwidth(RIGHT(cost_caption, 30)), vpages(dpage)->h - 10, uilook(uiText), dpage
... becomes ...
edgeprint RIGHT(cost_caption, 30), pRight, pBottom, uilook(uiText), dpage
That was yesterday. Today, I've instead been working on the OHR Archive website (or whatever we will call it) that was discussed here. It's more or less the same "better gamelist" project that Spoonweaver and Chronoboy tried to start years ago. I've only spent ~3 days on it in total so far, but hit some real milestones today: displaying gamelists and game entries and downloading the whole CP and SS gamelists. I've written a totally dynamic website in Python from scratch.