L3DT development blog
Large 3D terrain generator

The undoing of your hard disk.

Hi All,

I've just started work on the 'undo' plugin for L3DT, which is planned to be one of the key features in release 2.5b. In the first instance, L3DT's undo system will work a little bit like the Windows 'system restore' feature, insofar as you'll be able to save/load restore points for whole projects, or maybe even specific maps in a project. Using 'undo' in the menu or hitting CTRL+Z will revert to the previous restore point, and there will probably also be a history listbox (like in Paint.NET) that allows you to revert further back to specific restore points.

However, what I suspect everyone wants is the nice 'undo' behaviour of applications such as word processors and spreadsheets, where you don't have to manually save restore points. For this to happen, each calculation/tool will have to automatically save a mini restore point before it modifies a map. That's a non-trivial amount of work, and it's going to be particularly tricky with some of the brush tools (not impossible, just tricky). Another consideration is ensuring your hard-disk drive isn't eaten by all the restore points. For this there will need to be a limit on the maximum number of undos permitted (easy), and/or the maximum disk space allocated to undo (harder). The undo history cache will also need to be deleted whenever the project is saved or closed, just like it is in MS Office.

Finally, once all that work is done, it should be possible to add a crash-recovery feature to pick up the pieces when it all goes to pot (i.e. crash of L3DT/Windows/hardware/power grid/etc).

Anyway, work is in progress, and I'll let y'all know when there's something ready for testing.

Cheers, Aaron.


Update:

I've just uploaded a dev build of L3DT Pro (2.5a build 7) that includes the beginnings of the undo system for L3DT. In this version, you can backup the active map or areas thereof using the 'Extensions→L3DTio_Backup→Backup active map' and 'Extensions→L3DTio_Backup→Backup selected area' menu options. If you wish to revert to the last backups, use the 'Extensions→L3DTio_Backup→Restore to last backup'. The trick now, of course, will be to make L3DT do the backups automatically. aaron 2007/06/14 05:20

 
l3dt/2007/jun/13.txt · Last modified: 2017/08/31 05:22 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki