I managed to get it working, here is the code if anyone is interested, the media you need to get from here
http://www.evolved-software.com/treeit/treeit
` Tree with dynamic cube map Shadow By Evolved
` dynamic cube map shadow implemented by Code Maker
Init:
`Setup Display
load dll "user32.dll", 1
Sw=call dll(1, "GetSystemMetrics", 0)
Sh=call dll(1, "GetSystemMetrics", 1)
delete dll 1
set display mode Sw, Sh, 32, 1
sync on : sync rate 0
set text font "Courier New"
set text size 20
set text to bold
`Setup Camera
autocam off
backdrop on
hide mouse
color backdrop rgb(128, 128, 128)
xrotate camera 0, 30
position camera 0, 300, 400, 300
point camera 0, 0, 0, 0
`Load Textures
make camera 1
set camera to image 1, 3, 1024, 1024
color backdrop 1, rgb(255, 255, 255)
Make Dynamic Cube Map 1, 1024
load image "Media/Floor.dds", 4
load image "Media/Floor_n.dds", 5
`Load Textures
load image "Media/bark13.dds", 13
load image "Media/Bark13_n.dds", 14
load image "Media/palm2.dds", 15
`Load shaders
load effect "FX/CubicShadowMapping.fx", 1, 0
set effect constant float 1, "LightRange", 2000.0
load effect "FX/Tree.fx", 2, 0
load effect "FX/Leaf.fx", 3, 0
vec = make vector4(1)
set vector4 1, 0.75, 0.75, 0.75, 0.0
set effect constant vector 2, "LightColor", 1
set effect constant vector 3, "LightColor", 1
`Create Object
load object "Media/Palm Tree.dbo", 1 : object=1
set limb effect 1, 0, 2
set limb effect 1, 1, 3
texture limb 1, 0, 0, 13
texture limb 1, 0, 1, 14
texture limb 1, 1, 0, 15
scale object 1, 250, 250, 250
`Create floor
make object box 11, 1500, 1, 1500
position object 11, 0, 0, 0
texture object 11, 0, 4
texture object 11, 1, 5
scale object texture 11, 0, 10, 10
set object effect 11, 1
Apply Cube Map To Object 11, 2, 1
`Light Flare
load image "Media/Flare.JPG", 20
make object plain 20, 50, 50
texture object 20, 20
ghost object on 20
set object ambient 20, 0
position object 20, 700, 700+500, -700
`Main loop
do
position mouse screen width()/2, screen height()/2
`Control Camera
if mouseclick()=0
xrotate camera camera angle x()+mousemovey()*0.25
yrotate camera camera angle y()+mousemovex()*0.25
if camera angle x()>80 then xrotate camera 80
if camera angle x()<-60 then xrotate camera -60
endif
if mouseclick()>0 then CamDis# = CamDis# - mousemovey() * 0.25
CamDis# = mousemovez() * 0.5
move camera CamDis#
mousemovex() = 0
mousemovey() = 0
`Move Light
point object 20, camera position x(0), camera position y(0), camera position z(0)
set vector4 1, object position x(20), object position y(20), object position z(20), 0
set effect constant vector 1, "LightPosition", 1
set vector4 1, -object position x(20), -object position y(20), -object position z(20), 0
set effect constant vector 2, "LightDir", 1
set effect constant vector 3, "LightDir", 1
if leftkey() then position object 20, object position x(20)-5, object position y(20), object position z(20)
if rightkey() then position object 20, object position x(20)+5, object position y(20), object position z(20)
if upkey() then position object 20, object position x(20), object position y(20), object position z(20)-5
if downkey() then position object 20, object position x(20), object position y(20), object position z(20)+5
if inkey$() = "z" then move object up 20, 5
if inkey$() = "x" then move object down 20, 5
if returnkey() then paste image 3, 0, 0
if scancode()=0 then nopress=0
if not spacekey() then keyflag=0
if spacekey() and keyflag=0 then keyflag=1:gosub addtree
`Set tree shaders wind time
inc WindTime#, 0.08
WindTime# = wrapvalue(WindTime#)
inc TreeWindTime#, 0.8
TreeWindTime# = wrapvalue(TreeWindTime#)
inc LeafWindTime#, 8
LeafWindTime# = wrapvalue(LeafWindTime#)
set effect constant float 2, "WindTime", WindTime#/57.3
set effect constant float 2, "TreeWindTime", TreeWindTime#/57.3
set effect constant float 3, "WindTime", WindTime#/57.3
set effect constant float 3, "TreeWindTime", TreeWindTime#/57.3
set effect constant float 3, "LeafWindTime", LeafWindTime#/57.3
xrotate object 1, object angle x(1)+wind#*windflag
`Text
text 0, 0, "Spacekey add tree ("+str$(treenr)+")"
center text screen width()/2, 0, "FPS "+str$(screen fps())
`Render shadow map
set effect technique 1, "DepthMap"
Render Dynamic Cube Map 1, 1, object position x(20), object position y(20), object position z(20)
`Main Scene
set effect technique 1, "ShadowMapping"
sync mask %0001
sync
loop
addtree:
clone object 100+treenr, 1
position object 100+treenr,-700+rnd(1400), 0, -700+rnd(1400)
inc treenr
return