MODE 8
REM DIM l%(0), b%(1), n%(1), f%(1), s%(1), m%(1), t%(1), y(1), p(1), r(1), X(1), Y(1), Z(1), e(2), a(2)
DIM l%(0), b%(1), n%(1), f%(1), s%(1), m%(1), t%(1), y(1), p(1), r(1), X(1), Y(1), Z(1), e(2), a(2)
INSTALL @lib$+"D3DLIB"
ON CLOSE PROCcleanup:QUIT
ON ERROR PROCcleanup:PRINT REPORT$:END
d% = FN_initd3d(@hwnd%, 1, 0)
IF d% = 0 ERROR 100, "Can't initialise Direct3D"
b%(0) = FN_load3d(d%, @dir$+"PYRAMID.B3D", n%(0), f%(0), s%(0))
IF b%(0) = 0 ERROR 100, "Can't load PYRAMID.B3D"
b%(1) = FN_load3d(d%, @dir$+"BASE.B3D", n%(1), f%(1), s%(1))
IF b%(1) = 0 ERROR 100, "Can't load BASE.B3D"
t%(1) = FN_loadtexture(d%, @dir$+"CLOCK.JPG")
IF t%(1) = 0 ERROR 100, "Can't load CLOCK.JPG"
e() = 0, 0, -6
REM e() = 0, 0, -6
a() = 0, 0, 0
approach=-4
dir$="away"
REPEAT
MOUSE xxxx,yyy,bbb
IF bbb=4 THEN approach=approach -.005
IF bbb=1 THEN approach=approach +.005
p() = +2
r() = 12.5
X() = 0
REM drive will move the object away from you at .001 steps in the world.. It can go slower. * the drive variable is increasing. * So to stop it you would just not increase its value. (having issues with it returning?)
drive= drive+.001
PROC_render(d%, &FF7F7F7F, 0, l%(), 2, m%(), t%(), b%(), n%(), f%(), s%(), y(), p(), r(), X(), Y(), Z(), e(), a(), approach, 5/4, 1, 1000)
REM PROC_render(d%, &FF7F7F7F, 0, l%(), 2, m%(), t%(), b%(), n%(), f%(), s%(), y(), p(), r(), X(), Y(), Z(), e(), a(), drive, approach, 1, 1000) REM hmmm why is this doing what it is?
REM HERE IS YOUR OBJECT PARTS *******************t*****b*****n*****f*****s
REM t%(1) is your clock texture
REM b%(0) holds the Pyramid.B3D construct n%(0),f%(0),s(0) --- Just the 3D Pyramid
REM b%(1) holds the Base.B3D construct n%(1),f%(1),s%(1) -- This is needed because if the texture was loaded on the pyramid it would cover all sides
REM I will improve this program as I disect the render command
UNTIL INKEY(1)=0
END
DEF PROCcleanup
t%(1) += 0:IF t%(1) PROC_release(t%(1))
b%(0) += 0:IF b%(0) PROC_release(b%(0))
b%(1) += 0:IF b%(1) PROC_release(b%(1))
d% += 0 :IF d% PROC_release(d%)
ENDPROC