Doh! - did'nt read the question properly, I thought you were coding your own editor. I'll leave my response though in case anyone finds it useful.
What I usually do is firstly store the mouse position in a variable, then I run a dummy object over each matrix vertice to get its screen position. I'd make a cube, then hide it - and use this as a 3D to 2D converter. Say your heights for your matrice were stored in an array called height#, and your matrice is 64x64 tiles at 100x100 DB units.
I'd use something like:
Make object cube 10,1 : Hide object 10
Then to ascertain the screen locations of each vertice...
MX=Mousex()
MY=Mousey()
MC=Mouseclick()
For tz=0 to 63
For tx=0 to 63
Position object 10,tx*100,height#(tx,tz),tz*100
If object in screen(10)
Ink rgb(255,255,255),0
sx=Object screen x(10)
sy=Object screen y(10)
If MX>(SX-5) and MX<(SX+5) and MY>(SY-5) and MY<(SY+5)
If MC=1 then SELX=TX : SELZ=TZ else Ink rgb(255,255,0),0
Endif
If SELX=TX and SELZ=TZ then Ink rgb(255,0,0),0
Box sx-3,sy-3,sx+3,sy+3
Endif
next tx
next tz
This will do a little more than just draw little boxes in the right place - you can use this to select vertices, the selected vertice will be red, and the vertice under your mouse pointer will be yellow. With just a little code you can have a nice little editor.
Now that you can select a vertice, it's quite easy to adjust the height - you can do a check with the MC variable, so selecting with the left mouse button, and adjusting the height with the right mouse button is as easy as...
If MC=2 and SELX>-1 and SELZ>-1
`Dampen mouse jitters
if firstmove=0 then void=mousemovex()+mousemovey() : firstmove=1
`Adjust Height#
height#(SELX,SELZ)=height#(SELX,SELZ)+mousemovey()
else
firstmove=0
endif
For hills, I would'nt recommend that you try to adjust more than one vert - I'd just make a matrice smoothing function, so you'd have jagged verts, but a couple of passes with a smooth function and you end up with nice smooth hills.
Van-B

The nature of Monkey was irrepressible!.