[Bf-committers] undo fun :)

Ton Roosendaal bf-committers@blender.org
Sat, 31 Jul 2004 14:42:02 +0200


--Apple-Mail-10--846110689
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed

Hi,

Couldn't resist trying a hackish idea for undo as almost exists for 
ages:
Idea was to (ab)use the quick file read/write feature Blender has. For 
each undo step it saves a file in the Blender temp directory.

I've tried .blend files up to 5 MB, and that's still behaving OK. The 
most obvious negative side effects are of course recreating 
displaylists and drawing lists for particles, which all happens 'on 
load'. Also a bit 'weird' is that it completely restores everything, 
including UI changes.

To keep the test simple I've only added undo in the transform() for 
now. Also only works in Object Mode. Use UKEY and SHIFT+UKEY. In the 
console you can see test prints.

Didn't commit it, since we're in freeze, so I add the patch to this 
mail. :)
You can see it's very little code with a nice cycling list usage. Apply 
the patch in source/blender/src, there are no include file changes.

-Ton-


--Apple-Mail-10--846110689
Content-Disposition: attachment;
	filename=undo.patch.gz
Content-Transfer-Encoding: base64
Content-Type: application/x-gzip;
	x-unix-mode=0644;
	name="undo.patch.gz"

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
O+o+LxPJd/UD+kvpW+PfEJZc+c0TAAA=

--Apple-Mail-10--846110689
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	delsp=yes;
	charset=US-ASCII;
	format=flowed


------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org
--Apple-Mail-10--846110689--