Thanks, DarkLights looks nice as always, but its more than i can afford for the next few months, I will take a look at the other later today.
I was just working on adding some basic Joypad controls, all i've done so far is camera movement, but its a start.
SetupJoypad: Perform CheckList For Control Devices : Set Control Device CheckList String$(1) : Empty CheckList
Global UseJoypad As Boolean
Return
Function UpdateJoypad()
` Reserved Buttons
` Joystick Y() = Move Forward and Back
If Joystick Fire X(8) = 1 Then UseJoypad = Wrap(UseJoypad+1,0,1) : Repeat : Until Joystick Fire X(8) = 0
If UseJoypad = 0 Then ExitFunction
` If Joystick Fire X(4) = 1 Then Print "PREVIOUS OBJECT"
` If Joystick Fire X(5) = 1 Then Print "NEXT OBJECT"
If Joystick Fire X(6) = 1 Then Repeat : Until Joystick Fire X(6) = 0 : HelpTextMode = Wrap(HelpTextMode+1,-1,2)
` General Controls
` If Joystick Fire X(0) = 1 Then Print "LEVEL CAMERA"
` If Joystick Fire X(1) = 1 Then Print "FULLSCREEN ON/OFF"
` If Joystick Fire X(2) = 1 Then PostEvent GUM,MOUSE_CLICK,0,0
` If Joystick Fire X(3) = 1 Then PostEvent GUM,MOUSE_CLICK,0,0
` Other Options
` If Joystick Fire X(9) = 1 Then Print "TEST MAP IN GAME GAME"
If Joystick Fire X(7) = 0 : ` 3D Movement
If CamMode = 1 : ` FPS
If Joystick Y() < -100 Then CamUpdated = 1 : Move Camera 0, Val(GetGadgetText(CamWin_g1b))
If Joystick Y() > 100 Then CamUpdated = 1 : Move Camera 0,-Val(GetGadgetText(CamWin_g1b))
If Joystick X() < -100 Then CamUpdated = 1 : Move Camera Left 0, Val(GetGadgetText(CamWin_g1b))
If Joystick X() > 100 Then CamUpdated = 1 : Move Camera Right 0, Val(GetGadgetText(CamWin_g1b))
If Joystick Twist Z() < 10000 Then CamUpdated = 1 : cx# = -Val(GetGadgetText(CamWin_g2b))
If Joystick Twist Z() > 50000 Then CamUpdated = 1 : cx# = Val(GetGadgetText(CamWin_g2b))
If Joystick Z() < -100 Then CamUpdated = 1 : cy# = -Val(GetGadgetText(CamWin_g2b))
If Joystick Z() > 100 Then CamUpdated = 1 : cy# = Val(GetGadgetText(CamWin_g2b))
If CamUpdated = 1
Rotate Camera WrapValue(Camera Angle X(0)+cx#),WrapValue(Camera Angle Y(0)+cy#),WrapValue(Camera Angle Z(0)+cz#)
Position Camera Camera Position X(0),Camera Position Y(0),Camera Position Z(0)
EndIf : EndIf
If CamMode = 2 : ` RPG
If Joystick Y() < -100 Then CamUpdated = 1 : Move Camera Up 0,Val(GetGadgetText(CamWin_g1b))
If Joystick Y() > 100 Then CamUpdated = 1 : Move Camera Down 0,Val(GetGadgetText(CamWin_g1b))
If Joystick X() < -100 Then CamUpdated = 1 : Move Camera Left 0,Val(GetGadgetText(CamWin_g1b))
If Joystick X() > 100 Then CamUpdated = 1 : Move Camera Right 0,Val(GetGadgetText(CamWin_g1b))
If Joystick Twist Z() < 10000 Then CamUpdated = 1 : Position Camera 0,Camera Position X(0),Camera Position Y(0)-Val(GetGadgetText(CamWin_g1b)),Camera Position Z(0)
If Joystick Twist Z() > 50000 Then CamUpdated = 1 : Position Camera 0,Camera Position X(0),Camera Position Y(0)+Val(GetGadgetText(CamWin_g1b)),Camera Position Z(0)
EndIf : ExitFunction : EndIf
If Joystick Fire X(7) = 1 : ` Mouse Movement
If Joystick Twist Z() < 10000 Then Set Cursor MouseX(),MouseY()-1
If Joystick Twist Z() > 50000 Then Set Cursor MouseX(),MouseY()+1
If Joystick Z() < -100 Then Set Cursor MouseX()-1,MouseY()
If Joystick Z() > 100 Then Set Cursor MouseX()+1,MouseY()
ExitFunction : EndIf
EndFunction
Got a 'DBWC Settings Window' i was working on a day or two ago for changing settings which are stored in the registry, Controller will need to be set by this as it will be turned off by default, im adding this settings window now.