Thursday, February 6, 2014

FMod - Undo

I've been pounding out quite a few more tools for Fudge, including a flood fill and circle fill. I've also adjusted a whole bunch of miscellaneous stuff, most of which I can't remember specifically but probably has something to do with the tile palette. I created an undo/redo API, which my tools use to (obviously) push undo actions to the appropriate stack. Undoing single tile changes is simple, but things like adding and deleting rows/columns is harder. There's quite a bit of enterprisey abstraction, like having the IUndoableAction interface's actions return lists of levels with lists of changed tiles attached. Unfortunately, all this extra overhead increased the lag a lot, making Fudge pretty difficult to use on older computers. I'll probably have to implement a "low power" mode to not cause wait times to be measured in years.

No comments:

Post a Comment