I was adjusting all of those numbers with a text editor, by the way. LayZ
had no interface to do it. It seemed a good time to work on that.
I'd designed some nice numeric-slider widgets for TextureFnoob, but importing them into LayZ
would be far too much work. Instead, I perverted the interface still further; I added a click-and-drag command. You select an object, type a couple of keys, and then click and drag the mouse left or right. It doesn't matter what you click on; LayZ
just watches the relative movement. And there's no visual feedback except for a decimal number printed in the status line.
So much for any hope of any other person ever using LayZ
, right?
A bunch of these commands wound up in the interface. You could set the total, vector, color, or density coefficient of each item, and also the density and color values. (The latter was three separate commands, of course; red, green, and blue.) Each was two keystrokes followed by a drag. I could explain the mnemonic scheme that determined the keystrokes, but then you'd have to kill me. It really was pretty awful.
(A couple more shortcuts actually turned out to be useful. I have a three-button mouse on the laptop, so I rigged two of the buttoms to set the currently-dragged value to 0 and 1 respectively.)
LayZ
had long had cleverness to draw a spline curve smoothly; a sharply curved spline was approximated with more segments than a shallowly curved one. Looked very nice on screen, but I hadn't ever transferred that code over to makefield
. So I took care of that; the fields would now be computed with the same accuracy as LayZ
used. (Twice the accuracy, in fact. No reason to scrimp.)
A convenient special case was the straight spline segment. I had no reason to break that up at all; the calculus guaranteed that the total effect would be the same, and one segment can be computed much faster than twenty. So I checked for that.