GlovePIE:EDmouse FPS

From WiiLi

Jump to: navigation, search
//EDmouse FPS 1.0 [by marsuten @gmail.com-any improvement is welcome]

//Variables
     var.rotX = 15  //(def 15)  Percentage of screen where you turn left-right
     var.rotY = 15  //(def 15)  Percentage of screen where you look up-down
var.turnSpeed = 20  //(def 20)  Speed rotating
var.gradSpeed = 0,3 //(def 0,3) Gradual Speed [Full gradual=0..1=Non gradual]
var.precision = 10  //(def 10)  Precision -see also Speed rotating
pie.FrameRate = 100 //(def 100) Leave between 70-100
 wiimote.Leds = 1

//Hold down Z and C to use normal mouse
var.mouse = helddown(nunchuk.CButton and nunchuk.ZButton,350 ms)

//Buttons mapping (edit like you want)

mouse.LeftButton = wiimote.b
mouse.rightbutton = wiimote.a

key.Up = wiimote.Up
key.Left = wiimote.Left
key.Down = wiimote.down
key.Right = wiimote.Right

key.LeftShift = wiimote.Minus
key.Escape = wiimote.Home
key.LeftControl = wiimote.Plus

mouse.WheelUp = keepdown(pressed(wiimote.One),25ms)
mouse.WheelDown = keepdown(pressed(wiimote.Two),25ms)

key.Space = wiimote.Nunchuk.ZButton and not var.mouse
key.E = wiimote.Nunchuk.CButton and not var.mouse

key.W = nunchuk.Joyy < -0.6          //Nunchuk Up
key.A = nunchuk.Joyx < -0.6          //Nunchuk Left
key.S = nunchuk.Joyy > 0.6           //Nunchuk Down
key.D = nunchuk.Joyx > 0.6           //Nunchuk Right

key.R = nunchuk.gx <-1,5             //Move Nunchuk Right-Left
key.F = nunchuk.gz <-1,5             //Move Nunchuk Up-Down

wiimote.Rumble = KeepDown(Pressed(wiimote.B or var.mouse),50 ms)

//<<<FPS mouse>>>
//Dots
var.dotx=smooth(maprange(1-wiimote.pointerx,1,0,0,screen.Width),1)
var.doty=smooth(maprange(1-wiimote.pointery,1,0,0,screen.Height),1)
//Percentage of screen
var.turnX=(screen.Width*(var.rotx/100))
var.turnY=(screen.height*(var.roty/100))
//Gradual..
var.gradualXleft=maprange(var.dotx,var.turnX,0,var.gradspeed,1)
var.gradualXright=maprange(var.dotx,screen.Width-var.turnX, screen.Width,var.gradspeed,1)
var.gradualYleft=maprange(var.dotY,var.turnY,0,var.gradspeed,1)
var.gradualYright=maprange(var.dotY,screen.Height-var.turnY, screen.Height,var.gradspeed,1)
//..rotating
if var.dotx<var.turnx then var.Sx=var.Sx-(var.turnspeed*var.gradualXleft)
if var.dotx>(screen.Width-var.turnx) then var.Sx=var.Sx+(var.turnspeed*var.gradualXright)
if var.doty<var.turnx then var.Sy=var.Sy-(var.turnspeed*var.gradualYleft)
if var.doty>(screen.height-var.turny) then var.Sy=var.Sy+(var.turnspeed*var.gradualYright)
//Directinput assignment
var.DIx=((var.dotx+var.Sx)-(screen.Width/2) )/var.precision
var.DIy=((var.doty+var.Sy)-(screen.Height/2))/var.precision
//FPS mouse always active to avoid jumping pointers
if !var.mouse then mouse.DirectInputx=smooth(var.DIx,2)
if !var.mouse then mouse.DirectInputy=smooth(var.DIy,2)
//Normal mouse active when use var.mouse and 1 dot is visible, with freeze support
if var.mouse and var.freeze and (wiimote.dot1vis or wiimote.dot2vis) then mouse.x=smooth((1/(screen.Width /var.dotx)),2)
if var.mouse and var.freeze and (wiimote.dot1vis or wiimote.dot2vis) then mouse.y=smooth((1/(screen.Height/var.doty)),2)
var.freeze = not KeepDown(Pressed(wiimote.A or wiimote.B),300 ms)
Personal tools
Online Casino - best online casino reviews.
Facebook Developers - facebook applications, facebook developers, facebook development, social network application development and viral widget social media strategy