It's not flashy but it does it's job. I needed something to allow me to test a variety of start up display options so I coded this little diddy. I'm sure some other noobs may find it useful. ;) Quck and dirty..just like I like my...anyway.. here it is:
(Windows Only)
(Windows Only)
' Extern "win32" Function GetActiveWindow%() End Extern ' ' Set default options ' Global gdriver:Int = 0 Global windowed:Int = 0 Global vsync:Int = 1 Global depth:Int = 32 Global res:Int = 3 Global screenwidth:Int Global screenheight:Int ' GetStartUpOptions() ' ' results... ' gdriver: 0=dx 1=ogl ' vsync: 0 = off 1 = on ' screenwidth = width of screen ' screenheight = height of screen ' depth = 16-24-32 ' windowed: 0=no 1=yes ' Function GetStartUpOptions() SetGraphicsDriver D3D7Max2DDriver() Graphics(280,150,0) CenterWindowWin32() While Not KeyHit(KEY_RETURN) KeyOptions() Cls ShowOptions() Flip Delay 20 Wend End Function ' Function KeyOptions() If KeyHit(KEY_G) ; gdriver = Not gdriver If KeyHit(KEY_V) ; vsync = Not vsync If KeyHit(KEY_C) If depth = 16 depth = 24 Else If depth = 24 depth = 32 Else If depth = 32 depth = 16 EndIf EndIf EndIf EndIf If KeyHit(KEY_R) res=res+1 ; If res = 5 Then res=1 EndIf If KeyHit(KEY_D) ; windowed = Not windowed End Function ' Function ShowOptions() SetColor 0,255,0 SetTransform 0,1,1 SetBlend SOLIDBLEND Local gr$,vs$,dp$,sz$,w$ If gdriver = 0 ; gr$ = "DirectX" If gdriver = 1 ; gr$ = "OpenGL" DrawText "(G)raphics Driver = " + gr$,20,20 If vsync = 0 ; vs$ = "Off" If vsync = 1 ; vs$ = "On" DrawText "(V)sync = " + vs$,20,40 If depth = 16 ; dp$ = "16 bit" If depth = 24 ; dp$ = "24 bit" If depth = 32 ; dp$ = "32 bit" DrawText "(C)olor Depth = " + dp$,20,60 If res = 1 ; sz$ = "320x240" If res = 2 ; sz$ = "640x480" If res = 3 ; sz$ = "800x600" If res = 4 ; sz$ = "1024x768" DrawText "(R)esolution = " + sz$,20,80 If windowed = 0 Then w$ = "Full Screen" If windowed = 1 Then w$ = "Windowed" DrawText "(D)isplay = " + w$,20,100 DrawText "Press RETURN to continue.",20,120 Select res Case 1 screenwidth=320 ; screenheight=240 Case 2 screenwidth=640 ; screenheight=480 Case 3 screenwidth=800 ; screenheight=600 Case 4 screenwidth=1024 ; screenheight=768 End Select End Function ' Function CenterWindowWin32() Local hwnd:Long = GetActiveWindow() Local desk[4] Local window[4] GetWindowRect(GetDesktopWindow(), desk) GetWindowRect(hwnd, window) SetWindowPos(hwnd, HWND_NOTOPMOST, (desk[2] - (window[2] - window[1])) / 2, (desk[3] - (window[3] - window[0])) / 2, 0, 0, SWP_NOSIZE) End Function '