[Bf-committers] Re: Regarding the undo function....

Charles Wardlaw bf-committers@blender.org
Tue, 20 May 2003 07:49:27 -0700 (PDT)


> actually, I had the same idea, but not using Python, but doing it
> internally.

Except C++ doesn't offer the same functionality as Python or
Objective-C for that kind of walk, so while it could be done the main
classes would need to be extended with functions allowing this.

> You just have to do a very tedious task before -- search ALL places
> in
> Blender that ever modify anything in a scene, and put a save_undo()
> call
> there, which just goes along the current scene's tree and copies it
> to
> a backup buffer. Personally, I wouldn't even think it is necessary to
> save
> JUST the changed parts of the scene... Nowadays, memory isn't really
> an
> issue, so you could just save EVERYTHING.

Except: as is, Blender runs quite happily on 64 and 128 meg machines
(at least, in my experiences with win32 and linux).  Saving everything
on larger scenes could lead to a lot of disc swapping, especially under
windows, which could slow program execution down quite a lot.  The
greatest thing about blender is that I can run out, right now, and get
a 300MHz PII, with a second-gen TNT card, and have a working 3D
workstation.  Can't say that about Maya, Lightwave, Alias/Wavefront, or
3DS Max, which is strange, because most of the core functionality of
those programs is present in Blender in one form or another.

I mean, if disc swapping weren't an issue, you could just use the
current system of backup saves and extend it as undo (sort of).  But
all that writing to disc will eventually catch up with you.

- Charles