Files
BlitzNext/#Test/samples/RobCummings/PyromaniaBB/start.bb
T

74 lines
1.2 KiB
BlitzBasic

;startup kludge
;
Start3d_Kludge()
Type GfxMode
Field width,height,depth
End Type
Function Start3d_Kludge()
If Windowed3D()
yn$=Input$( "Use windowed mode?" )
If Left$( Lower$( yn$ ),1 )="y"
Graphics3D 640,480,0,2
SetBuffer BackBuffer()
Return
EndIf
EndIf
Print ""
Print "Display drivers:"
Print "----------------"
For k=1 To CountGfxDrivers()
Print k+":"+GfxDriverName$(k)
Next
Print ""
If CountGfxDrivers()>1
Repeat
driver=Input$( "Display driver (1-"+CountGfxDrivers()+"):" )
Until driver>=1 And driver<=CountGfxDrivers()
SetGfxDriver driver
EndIf
Print ""
Print "Display modes:"
Print "--------------"
cnt=0
For k=1 To CountGfxModes()
If GfxMode3D(k)
t.GfxMode=New GfxMode
t\width=GfxModeWidth(k)
t\height=GfxModeHeight(k)
t\depth=GfxModeDepth(k)
cnt=cnt+1
Print cnt+":"+t\width+","+t\height+","+t\depth
EndIf
Next
If Not cnt
Print "No 3D Graphics modes available!"
Print "Press any key..."
WaitKey
End
EndIf
Repeat
mode=Input$( "Display Mode (1-"+cnt+"):" )
Until mode>=1 And mode<=cnt
t.GfxMode=First GfxMode
While mode>1
t=After t
mode=mode-1
Wend
Graphics3D t\width,t\height,t\depth,1
SetBuffer BackBuffer()
Delete Each GfxMode
End Function