Quote: "we are probably going to see a hit to the attendance of this board since it's free now"
Probably, but maybe not such a big hit.
It may be free, but anyone who isn't good with DBC is going to be worse with DBP as it's more complex.
I have DBP and many of the plugins, but I still prefer to use DBC as I feel 'more comfortable' using it I suppose. It's hard to describe...
The point is, there will be a few who get the free version of Pro, have a bit of a tinker then like me, come back to DBC.
It's a bit premature to announce it officialy, but I am planning a nice DBC Christmas programming competition with prizes, so we might see the free DBP version pushed to one side for a bit...
In the new year maybe I will look at DBC and decide whether it's time to call it a day and force myself to commit fully to DBP. It's very quiet on this board compared to just 6 months ago and I wonder if it's still worth it.
Variation of the 3D box draw snippet which draws in a single Repeat..Until loop:
Rem 3D Draw Box Example 2 For DBC
Rem By TDK_Man 07/11/09
Gosub Setup
Do
OldMx=Mx: OldMy=My
Mx=MouseX(): My=MouseY(): Mc=MouseClick()
If Mc=1
Gosub FindXZ
StartX = Objx: StartZ = Objz
Gosub MakeObject
Endif
Sync
Center Text 400,0,"Move Mouse To Required Position. Hold Left Mouse Button To Draw Box Width/Depth. Hold Shift To Set Box Height."
Loop
MakeObject:
Inc ObjNum
Make Object Box ObjNum,1,.01,1
Position Object ObjNum,Startx,0.0,Startz
ScaleX# = 100.0: ScaleY# = 100.0: ScaleZ# = 100.0
Hide Mouse
Repeat
MMx=MouseMoveX(): MMy=MouseMoveY(): Mc=MouseClick()
If ShiftKey()
MMy=MMy*200
ScaleY# = ScaleY#-MMy: If ScaleY# < 0.1 Then ScaleY# = 0.1
Scale Object ObjNum,ScaleX#,ScaleY#,ScaleZ#
Else
MMx=MMx*25: MMy=MMy*25
ScaleX# = ScaleX#+MMx: If ScaleX# < 0.1 Then ScaleX# = 0.1
ScaleZ# = ScaleZ#+MMy: If ScaleZ# < 0.1 Then ScaleZ# = 0.1
Scale Object ObjNum,ScaleX#,ScaleY#,ScaleZ#
Endif
Sync
Center Text 400,0,"Move Mouse To Required Position. Hold Left Mouse Button To Draw Box Width/Depth. Hold Shift To Set Box Height."
Until Mc=0
Show Mouse
Oldx=Object Position X(ObjNum): Oldz=Object Position Z(ObjNum)
Return
FindXZ:
Tries=0: Oldx=Objx: Oldz=Objz
Repeat
If Object Screen X(100) <= Mx
Position Object 100,Object Position X(100)-1,Object Position Y(100),Object Position Z(100)
Else
Position Object 100,Object Position X(100)+1,Object Position Y(100),Object Position Z(100)
Endif
If Object Screen Y(100) <= My
Position Object 100,Object Position X(100),Object Position Y(100),Object Position Z(100)+1
Else
Position Object 100,Object Position X(100),Object Position Y(100),Object Position Z(100)-1
Endif
Inc Tries
Until ABS(Object Screen X(100)-Mx) < 4 and ABS(Object Screen Y(100)-My)<4 Or Tries=10000
If Tries=10000
Objx = Oldx: Objz = Oldz
Else
Objx = Object Position X(100)
Objz = Object Position Z(100)
Endif
Return
Setup:
Set Display Mode 800,600,32
Sync On: Sync Rate 0
CLS 0
AutoCam Off
ObjNum=0: Objx = 0: Objz = 0
Make Object Cube 100,10: Hide Object 100
Position Camera 100,50,100
Point Camera 0,0,0
Ink RGB(255,255,255),0
Return
TDK