MCPcopy Create free account
hub / github.com/dborth/fceugx / UpdateCursorPosition

Function UpdateCursorPosition

source/pad.cpp:338–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

336static int pos_y = 0;
337
338static void UpdateCursorPosition (int chan)
339{
340 #define ZAPPERPADCAL 20
341 #define WIIDRCZAPPERPADCAL 30
342
343 if (userInput[chan].pad.stickX > ANALOG_SENSITIVITY)
344 {
345 pos_x += (userInput[chan].pad.stickX*1.0)/ZAPPERPADCAL;
346 if (pos_x > 256) pos_x = 256;
347 }
348 else if (userInput[chan].pad.stickX < -ANALOG_SENSITIVITY)
349 {
350 pos_x -= (userInput[chan].pad.stickX*-1.0)/ZAPPERPADCAL;
351 if (pos_x < 0) pos_x = 0;
352 }
353
354 if (userInput[chan].pad.stickY < -ANALOG_SENSITIVITY)
355 {
356 pos_y += (userInput[chan].pad.stickY*-1.0)/ZAPPERPADCAL;
357 if (pos_y > 224) pos_y = 224;
358 }
359 else if (userInput[chan].pad.stickY > ANALOG_SENSITIVITY)
360 {
361 pos_y -= (userInput[chan].pad.stickY*1.0)/ZAPPERPADCAL;
362 if (pos_y < 0) pos_y = 0;
363 }
364
365#ifdef HW_RVL
366 if (userInput[chan].wpad->ir.valid)
367 {
368 pos_x = (userInput[chan].wpad->ir.x * 256) / 640;
369 pos_y = (userInput[chan].wpad->ir.y * 224) / 480;
370 }
371 else
372 {
373 s8 wm_ax = userInput[chan].WPAD_StickX(0);
374 s8 wm_ay = userInput[chan].WPAD_StickY(0);
375
376 if (wm_ax > ANALOG_SENSITIVITY)
377 {
378 pos_x += (wm_ax*1.0)/ZAPPERPADCAL;
379 if (pos_x > 256) pos_x = 256;
380 }
381 else if (wm_ax < -ANALOG_SENSITIVITY)
382 {
383 pos_x -= (wm_ax*-1.0)/ZAPPERPADCAL;
384 if (pos_x < 0) pos_x = 0;
385 }
386 if (wm_ay < -ANALOG_SENSITIVITY)
387 {
388 pos_y += (wm_ay*-1.0)/ZAPPERPADCAL;
389 if (pos_y > 224) pos_y = 224;
390 }
391 else if (wm_ay > ANALOG_SENSITIVITY)
392 {
393 pos_y -= (wm_ay*1.0)/ZAPPERPADCAL;
394 if (pos_y < 0) pos_y = 0;
395 }

Callers 1

DecodeJoyFunction · 0.85

Calls 2

WPAD_StickXMethod · 0.80
WPAD_StickYMethod · 0.80

Tested by

no test coverage detected