What?
The includes don't load media.
All you need is a heightmap, a texturemap, a water texture and a skysphere texture.
I have marked with a 'rem *** Comment *** all the sections that load images and what images to load.
#include "inc-mbmatrix.dba"
set display mode 800,600,32
sync on:sync rate 0
autocam off
rem Object size
msizex#=500:msizez#=500
rem Number of tiles. For a very detailed landscape, set it to 100x100...
nsquarex=100:nsquarez=100
rem Generate memblock containing the mesh info
makeMemMatrix(1,msizex#,msizez#,nsquarex,nsquarez)
rem Load heightmap and set matrix relief from heightmap
rem *** Load the heightmap ***
load image "terrainshm2.bmp",1
setMemMatrixFromHeightmap(1,1,100.00)
smoothMemMatrix(1,50)
rem Calculate matrix normals
configureMemMatrixNormals(1)
rem Load a texture
rem *** Load the terrain texture ***
load image "terrainstm2.bmp",1
rem Re-UVmap a part of the matrix with a rotated part or the texture
` Parameters:
` memblock,image used to texture the matrix,
` x1,z1,x2,z2 (in tiles coordinates, which define a rectangle wherein the mapping will be changed)
` xtex1,ytex1,xtex2,ytex2 (in pixels, which define a rectangle in the texture that will be mapped on the rectangle defined above)
` rotate (0 = no rotation; 1 = 90° ; 2 = 180° ; 3 = 270°. Rotation is trigonometric -> anti-clockwise)
` flip (0 = no flip; 1 = horizontal flip; 2 = vertical flip. You don't need "flip both" 'cos it's just like "rotate 180°")
` (Man, is it complicated! I must find a way to make it simplier...)
`error=UVmapMemMatrix(1,1,nsquarex/10,nsquarez/10,nsquarex/4,nsquarez/4,64,64,191,127,1,0)
`if error>0 then print "Error n°"+str$(error)+" during matrix texturing!":end
rem Convert memblock into an object
make mesh from memblock 1,1
make object 1,1,1
rem Position it
position object 1,msizex#/-2,0,msizez#/-2
rem Water
rem *** Load the water texture ***
load image "water08.bmp",5
make object plain 2,500,500
xrotate object 2,90
position object 2,0,10,0
texture object 2,5
scale object texture 2,10,10
ghost object on 2
make object plain 3,500,500
xrotate object 3,90
position object 3,0,8,0
texture object 3,5
scale object texture 3,10,10
ghost object on 3
rem Sky
rem *** Load the sky texture ***
load image "valley dawn.jpg",6
make object sphere 4,750
texture object 4,6
fade object 4,100
position object 4,0,0,0
set object 4,1,1,0,0,0,0,0
yrotate object 4,270
set ambient light 35
backdrop off
cx#=100
cy#=100
cz#=100
angle#=0
do
scroll object texture 2,0.005,0.01
scroll object texture 3,-0.005,-0.01
rem Control camera
if mouseclick()=1
cx#=newxvalue(cx#,camera angle y(),1)
cz#=newzvalue(cz#,camera angle y(),1)
endif
if mouseclick()=2
cx#=newxvalue(cx#,camera angle y(),-1)
cz#=newzvalue(cz#,camera angle y(),-1)
endif
rotate camera wrapvalue(camera angle x()+mousemovey()),wrapvalue(camera angle y()+mousemovex()),0
cy#=getMemMatrixGroundHeight(1,cx#,cz#)
position camera cx#+(msizex#/-2),cy#+25,cz#+(msizez#/-2)
rx#=newxvalue(cx#,camera angle y(),5)
rz#=newzvalue(cz#,camera angle y(),5)
ry#=getMemMatrixGroundHeight(1,rx#,rz#)
sync
text 10,10,str$( screen fps() )+" FPS (hit 1,2,or 3 to switch modes; arrow keys to shift)"
loop
delete object 1:delete mesh 1:delete memblock 1
[Edit]Well actually the file "lightmap.dba" isn't an include but you don't need to use it.[/Edit]