2014-09-26 Back at it
So what has been happening since March. Well, I had a lot of distractions in April and my summer was particularly busy and demotivating. Also much of the past 6 weeks have been spent Banished in a medieval city builder. Of course, I built several Ultima towns including a somewhat limited recreation of U7’s Britain increased to a population size of over 200.
Now what progress am I here to report. Well, I did my rewriting/reorganizing of the activity editor back in March and it is effectively finished apart from a bit of polishing and maybe a minor side feature or two.
More recently, I’ve attempted to do some reverse engineering with the executable and I helped Kirinn a bit with widescreen corrections. We ended up finding a few bytes in the executable (largely by coincidence) that govern the scale of all book GUMPs in the game. Pretty useful; especially for those that find the spellbook overlaps with the toolbar. For more details, check out the comments section below this post at the Codex.
Unfortunately, I’ve not had much luck in finding other useful bytes; however, I did find out that savegames store snapshots of various on-going in-game processes. These are largely spells, animation, and movement controller processes as well as a few special trigger processes like fade-in. This might prove somewhat useful at some point, but the processes are largely about stuff we don’t intend to change. I’ll probably do some more executable reverse engineering over the next few months.
On the programming front, I’m slowly advancing the triggers editor; reusing much of my GUI interface and internal code from the activity editor. Unfortunately, filling in the necessary details for 150 trigger commands will be quite time consuming even with the modular code I wrote for the activity editor, so it will be a little while before I’ll have more news about this editor.
And finally, I’ve decided to start work on the types editor. The groundwork for this will help with the trigger editor’s target type field (a parameter that selects the trigger target based on Usecode ID) by allowing me to quickly generate a drop-down list via the types database and typename flex file. At this point, I have created the code to read in and write out the types database. Typename is next on my list; followed by an editor for these two files.
That is all for now. Hope to have some news regarding a patch for Beautiful Britannia within a month or so. See you then.