Found it never mind.
EDIT: Well, it seems to be a problem with the SET DISPLAY MODE command.
I removed it and the program worked perfectly. Test it out.
I also can't get the upgrades to work at all...which is odd, considering that it should..unless I messed something up horribly...
ink rgb(0,255,0),0
`begin menu setup
MENU:
cls
do
set text font "Denmark"
set text size 35 : center text 320,10,"The Goose Chasing Program"
set text size 30 : center text 320,80,"Press enter to go HERE."
if returnkey()=1
gosub HERE
endif
loop
`begin here part of program
HERE:
cls
do
set text font "Arial Black"
set text size 30 : center text 320,10,"You are Here."
set text size 30 : center text 320,35,"To go THERE, press ENTER."
set text size 30 : center text 320,85,"To go back to the menu, press space."
if spacekey()=1
gosub MENU
endif
if returnkey()=1
gosub THERE
endif
loop
`begin there part of program
THERE:
cls
do
set text font "Denmark"
set text size 30 : center text 320,10,"You're THERE. Keep going to SOMEWHERE."
set text size 30 : center text 320,60,"To go SOMEWHERE press ENTER."
if returnkey()=1
gosub GOOD
endif
loop
`being good part of program
GOOD:
cls
autocam off : hide mouse
`sync rate
sync on : sync rate 60
`fog
fog on : fog distance 600 : fog color rgb(255,255,255)
`lighting
set ambient light 50 : color ambient light rgb(0,200,255)
`make sphere
make object sphere 1,1
position object 1,0,5,0
make object collision box 1,-0.5,-0.5,-0.5,0.5,0.5,0.5,0
`background color
color backdrop rgb(24,25,25)
`ground boxes
make object box 2,1,2,2
position object 2, 0,0,0
color object 2, rgb(10,200,255)
make static object 2
objx#=object position x(2)
objy#=object position y(2)
objz#=object position z(2)
objsx#=object size x(2)/2.0
objsy#=object size y(2)/2.0
objsz#=object size z(2)/2.0
make static collision box objx#-objsx#,objy#-objsy#,objz#-objsz#,objx#+objsx#,objy#+objsy#,objz#+objsz#
make object box 3,5,2,5
position object 3,10,-5,0
color object 3, rgb(255,255,0)
make static object 3
objx#=object position x(3)
objy#=object position y(3)
objz#=object position z(3)
objsx#=object size x(3)/2.0
objsy#=object size y(3)/2.0
objsz#=object size z(3)/2.0
make static collision box objx#-objsx#,objy#-objsy#,objz#-objsz#,objx#+objsx#,objy#+objsy#,objz#+objsz#
make object box 4,5,2,5
position object 4,12,4,10
color object 4,rgb(35,35,35)
make static object 4
objx#=object position x(4)
objy#=object position y(4)
objz#=object position z(4)
objsx#=object size x(4)/2.0
objsy#=object size y(4)/2.0
objsz#=object size z(4)/2.0
make static collision box objx#-objsx#,objy#-objsy#,objz#-objsz#,objx#+objsx#,objy#+objsy#,objz#+objsz#
make object box 5,2,2,2
position object 5,24,4,40
color object 5, rgb(255,255,100)
make static object 5
objx#=object position x(5)
objy#=object position y(5)
objz#=object position z(5)
objsx#=object size x(5)/2.0
objsy#=object size y(5)/2.0
objsz#=object size z(5)/2.0
make static collision box objx#-objsx#,objy#-objsy#,objz#-objsz#,objx#+objsx#,objy#+objsy#,objz#+objsz#
`dead zones
make object box 6,3000,1000,3000
position object 6,0,-600,0
hide object 6
`start off player gravity
playergrav#=0.1
`main loop
do
`game over if...
if object collision(1,6) then delete object 6 : position object 1,0,5,0 : make object box 6,3000,1000,3000 : position object 6,0,-600,0 : hide object 6
`Store old positions
oldposx#=object position x(1)
oldposy#=object position y(1)
oldposz#=object position z(1)
`controls
if upkey()=1 then move object 1,0.45
if downkey()=1 then move object 1,-0.35
if leftkey()=1 then yrotate object 1,wrapvalue(object angle y(1)-3)
if rightkey()=1 then yrotate object 1,wrapvalue(object angle y(1)+3)
if spacekey()=1 and playergrav#=0 then playergrav#=0.45
if inkey$()="p" then wait 500 : suspend for key
if inkey$()="t" then position camera -95,95,-80 : point camera 0,5,0
if inkey$()="w" then Move object 1,0.35
if inkey$()="s" then move object 1,-0.35
if inkey$()="a" then yrotate object 1,wrapvalue(object angle y(1)-3)
if inkey$()="d" then yrotate object 1,wrapvalue(object angle y(1)+3)
if controlkey()=1 and playergrav#=0 then playergrav#=0.45
`get current object position
posx#=object position x(1)
posy#=object position y(1)
posz#=object position z(1)
`gravity
playergrav#=playergrav#-0.01
posy#=posy#+playergrav#
`sliding collision
position object 1,posx#,posy#,posz#
if object collision(1,0)>0
dec posx#,get object collision x()
dec posy#,get object collision y()
dec posz#,get object collision z()
playergrav#=-0.0
endif
`Set size for controled object
s#=object size y(1)/2.0
`Ensure camera stays out of static boxes
if get static collision hit(oldposx#-s#,oldposy#-s#,oldposz#-s#,oldposx#+s#,oldposy#+s#,oldposz#+s#,posx#-s#,posy#-s#,posz#-s#,posx#+s#,posy#+s#,posz#+s#)=1
dec posx#,get static collision x()
dec posy#,get static collision y()
dec posz#,get static collision z()
if get static collision y()<>0.0 then playergrav#=0.0
endif
`Update with new object position
position object 1,posx#,posy#,posz#
`camera
angle#=object angle y(1)
camdist#=5.5 : camhigh#=posy#+0.8 : camfade#=3.5
set camera to follow posx#,posy#,posz#,angle#,camdist#,camhigh#,camfade#,1
xrotate camera 10
`end loop
sync
loop
Signatures....peh. I never come up with anything good to say in them. Ah well.