Phew, this has been a busy week – but, at the end of it, a ton of progress has been made!
First, the image browser is now perfectly functional. Here’s what it looks like:
By typing into the filter box at the top I can quickly find the particular image I’m looking for: For example, if I want the standing frames for Eve I can search for ‘eve standing’ and only images with both of those terms somewhere in their local file path show up on the list. The little previews load in and unload as necessary to avoid taking up too much memory, and all-in-all I think it’s a pretty nice little bit of engineering. You can also see up in the upper left that I’ve set the image to the entity, which will make that image show up in the overview when editing entities or, if a flag is set, have the entity display using that image in-game.
… which, come to think of it, neither of those are currently implemented, so I guess I’ll do those next.
After completing the image browser, I went back and fixed all of the little interface glitches in the entity editor, and then I went in and added a prerequisite system to all of the behaviors. This is something I’d had in kind of a rough form before, but I made this a much more firmly established part of the system so that I could, for example, check before swapping behaviors around to ensure they wouldn’t be placed in an erroneous order, or check before deleting a behavior that it wasn’t a prerequisite for another existing behavior. Finally, I added a couple of buttons to the control panels for deleting a behavior and closing the control panel, and made it possible to edit prototypes as well as entities. You can see the final result here:
The entity editor is, at this point, basically done. There are the couple of little fixes I noted above, and also I’d like to revise the animation and sound control panels to be less ugly and easier to use (possibly using the image browser… and maybe a new sound browser based off of it?) I think it’ll take a day or two to completely wrap this segment up and go back to the detail editor, which remains semi-finished… but which should be finished much more quickly now that I have all of the tools I developed to create the entity editor.