Being a hobbyist programmer, I decided I would take a look at the source code for the editor and make my own version to make developing easier. As I browsed the admittedly old, awkward source, I came up with an even more outlandish thought.
I'd make my own editor - from scratch.
I decided to throw out the entire design of the original editor, and go with a much more powerful, user-friendly design.
Now, it's not done yet. In fact, it's barely starting. There's still quite a number of things to put together, but the design is solid. It's only a matter of time until it's functional.
What I want to know is if there's anyone out there interested in this. I'm going to make it regardless. If there's interest I'll keep everyone updated and eventually post some builds once it's reasonably functional.
Here's just a few of the features I'm planning to include:
- Full GUI for custom object definitions. No more scenario data files! Objects are automatically given an alias (see below) so you no longer have to track which object numbers you've already used. You'll still be able to write out any object by hand, if you want.
- Resizable, reorganizable world. Made your world too big? Add some outdoor sections. Too small? Remove a few. Want to move sections around? Drag and drop!
- Add, edit, and organize towns easily. You can delete ANY town, not just the last one. Change the size of a town instantly.
- In-editor image browser (this is working already!). Select the images for your object while actually looking at them.
- Aliases. Assign an image, floor, terrain, ANYTHING a name that you can use inside scripts. You'll no longer need to remember a mess of numbers. The editor will automatically look up and replace the aliases with the correct values when you deploy your scenario. You can also use aliases to assign various resources a group so you can keep them organized.
- SDF manager. Create named flags and give them default values set when the scenario starts. Use the names in your scripts instead of numbers. You'll no longer need to worry about mixing up SDFs.
- Default object overrides. Easily change properties of the default objects without hacks or mistakes.
- Optimizing data file generator. The editor will try and organize your custom objects to make the scenario data file as small and fast as possible. Custom images will be completely automated to make customizing your scenario easy.
- Dialogue editor. Edit dialogue in a GUI rather than by hand. Talk nodes are automatically constructed based on your dialogue tree.
- Import/export scenarios for the original editor. The original Blades of Avernum editor is limited because it tries to modify and store all data in-place in its scenario file. With my editor, all of the scenario's major files are generated when the scenario is built. That means a scenario made with my editor will be highly incompatible with the original editor. However, it will be fully capable of converting a scenario between its own format and the original one.
Unfortunately, for the moment, it's Windows only. This is written in C# on the .NET Framework, which is primarily for Windows. With tinkering, I could probably get it to work with Mono on a mac, but I don't have access to one. Theoretically a good majority of the code is portable as-is, but some of the features, especially how it loads and accesses images, would need to be rewritten. If a mac user wants to help get it functional, please PM me.
Here's a screenshot of the main screen (as it looks now) with the scenario details window open. I can say that this is going to change a lot before it's finished, but it'll give you an idea how the end result will look.
I have some screenshots of the image browser, showing how aliases will be used.
Well, that's all I have for the moment. If anyone's interested in this, please comment. I'd love to hear any comments or suggestions that could be made. I'm wanting to make an editor people will use, after all.