Ok, new DBA file attached.
I think the most confusing thing is how camy# is used as a zoom, so everything camera related affects the camx# and camz#, the cursor keys change these variables and so does clicking and dragging with the right mouse button. Camy# is changed using the scroll wheel, but my camera system is like...
position camera camx#,0,camz#
rotate camera 60,yang,0
move camera -camy#
The actual movement variables are quite fiddly, especially the cursor key part:
xmv#=0
ymv#=0
if upkey()=1 then xmv#=25.0
if downkey()=1 then xmv#=-25.0
if leftkey()=1 then ymv#=25.0
if rightkey()=1 then ymv#=-25.0
camx#=newxvalue(camx#,yang,xmv#*elapsed#)
camz#=newzvalue(camz#,yang,xmv#*elapsed#)
camx#=newxvalue(camx#,yang-90,ymv#*elapsed#)
camz#=newzvalue(camz#,yang-90,ymv#*elapsed#)
This is so complex because it has to take the camera Y angle into account, if you press forward on the cursor keys it needs to work out X and Z movements for that, so it will be able to move forward in relation to the camera.
The camera is rotated by pressing the middle/both button around the edges of the screen, it's more like your dragging the terrain around to rotate it, I really like that compared to how it was before.
If you upload your camera control stuff, I'll include it in the next real build - plan to add a couple of things, like expanding the tool section so people have space to add their own buttons, but a camera mode menu where we can select RTS, FPS etc modes would be cool. If anyone has an idea for a camera mode they'd like to see then speak up now
.
EDIT: Forgot to say, search for *** to find the bits of code relating to camera control.