mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 06:40:18 +00:00
(GX) Input polling refactor - do Wiimote first - skip GC poll
if no GC pads are connected
This commit is contained in:
parent
33154c1a04
commit
3f2112d2fd
296
gx/gx_input.c
296
gx/gx_input.c
@ -267,180 +267,172 @@ static void gx_input_poll(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
bool quit_gc = false;
|
||||
u32 gc_pads_connected = PAD_ScanPads();
|
||||
pad_state[0] = 0;
|
||||
pad_state[1] = 0;
|
||||
pad_state[2] = 0;
|
||||
pad_state[3] = 0;
|
||||
|
||||
#ifdef HW_RVL
|
||||
bool quit_classic = false;
|
||||
bool quit_wiimote = false;
|
||||
WPAD_ReadPending(WPAD_CHAN_ALL, NULL);
|
||||
#endif
|
||||
|
||||
for (unsigned port = 0; port < MAX_PADS; port++)
|
||||
{
|
||||
uint64_t state = 0;
|
||||
|
||||
if (gc_pads_connected)
|
||||
{
|
||||
uint16_t down = PAD_ButtonsHeld(port);
|
||||
|
||||
state |= (down & PAD_BUTTON_A) ? GX_GC_A : 0;
|
||||
state |= (down & PAD_BUTTON_B) ? GX_GC_B : 0;
|
||||
state |= (down & PAD_BUTTON_X) ? GX_GC_X : 0;
|
||||
state |= (down & PAD_BUTTON_Y) ? GX_GC_Y : 0;
|
||||
state |= (down & PAD_BUTTON_UP) ? GX_GC_UP : 0;
|
||||
state |= (down & PAD_BUTTON_DOWN) ? GX_GC_DOWN : 0;
|
||||
state |= (down & PAD_BUTTON_LEFT) ? GX_GC_LEFT : 0;
|
||||
state |= (down & PAD_BUTTON_RIGHT) ? GX_GC_RIGHT : 0;
|
||||
state |= (down & PAD_BUTTON_START) ? GX_GC_START : 0;
|
||||
state |= (down & PAD_TRIGGER_Z) ? GX_GC_Z_TRIGGER : 0;
|
||||
state |= ((down & PAD_TRIGGER_L) || PAD_TriggerL(port) > 127) ? GX_GC_L_TRIGGER : 0;
|
||||
state |= ((down & PAD_TRIGGER_R) || PAD_TriggerR(port) > 127) ? GX_GC_R_TRIGGER : 0;
|
||||
|
||||
s8 x = PAD_StickX(port);
|
||||
s8 y = PAD_StickY(port);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
state |= x > 0 ? GX_GC_LSTICK_RIGHT : GX_GC_LSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
state |= y > 0 ? GX_GC_LSTICK_UP : GX_GC_LSTICK_DOWN;
|
||||
|
||||
x = PAD_SubStickX(port);
|
||||
y = PAD_SubStickY(port);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
state |= x > 0 ? GX_GC_RSTICK_RIGHT : GX_GC_RSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
state |= y > 0 ? GX_GC_RSTICK_UP : GX_GC_RSTICK_DOWN;
|
||||
|
||||
if ((state & (GX_GC_LSTICK_DOWN | GX_GC_RSTICK_DOWN | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER)) == (GX_GC_LSTICK_DOWN | GX_GC_RSTICK_DOWN | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER))
|
||||
quit_gc = true;
|
||||
}
|
||||
|
||||
#ifdef HW_RVL
|
||||
uint32_t type = 0;
|
||||
if (WPAD_Probe(port, &type) == WPAD_ERR_NONE)
|
||||
|
||||
if (WPAD_Probe(port, &type) != WPAD_ERR_NONE)
|
||||
continue;
|
||||
|
||||
uint64_t *state_cur = &pad_state[port];
|
||||
WPADData *wpaddata = WPAD_Data(port);
|
||||
|
||||
uint32_t down = wpaddata->btns_h;
|
||||
|
||||
*state_cur |= (down & WPAD_BUTTON_A) ? GX_WIIMOTE_A : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_B) ? GX_WIIMOTE_B : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_1) ? GX_WIIMOTE_1 : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_2) ? GX_WIIMOTE_2 : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_PLUS) ? GX_WIIMOTE_PLUS : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_MINUS) ? GX_WIIMOTE_MINUS : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_HOME) ? GX_WIIMOTE_HOME : 0;
|
||||
// rotated d-pad on Wiimote
|
||||
*state_cur |= (down & WPAD_BUTTON_UP) ? GX_WIIMOTE_LEFT : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_DOWN) ? GX_WIIMOTE_RIGHT : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_LEFT) ? GX_WIIMOTE_DOWN : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_RIGHT) ? GX_WIIMOTE_UP : 0;
|
||||
|
||||
if((down & WPAD_BUTTON_HOME) && (down & WPAD_BUTTON_B))
|
||||
*state_cur |= GX_QUIT_KEY;
|
||||
|
||||
expansion_t *exp = &wpaddata->exp;
|
||||
|
||||
if (type == WPAD_EXP_CLASSIC)
|
||||
{
|
||||
WPADData *wpaddata = WPAD_Data(port);
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_A) ? GX_CLASSIC_A : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_B) ? GX_CLASSIC_B : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_X) ? GX_CLASSIC_X : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_Y) ? GX_CLASSIC_Y : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_UP) ? GX_CLASSIC_UP : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_DOWN) ? GX_CLASSIC_DOWN : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_LEFT) ? GX_CLASSIC_LEFT : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_RIGHT) ? GX_CLASSIC_RIGHT : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_PLUS) ? GX_CLASSIC_PLUS : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_MINUS) ? GX_CLASSIC_MINUS : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_HOME) ? GX_CLASSIC_HOME : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_FULL_L) ? GX_CLASSIC_L_TRIGGER : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_FULL_R) ? GX_CLASSIC_R_TRIGGER : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_ZL) ? GX_CLASSIC_ZL_TRIGGER : 0;
|
||||
*state_cur |= (down & WPAD_CLASSIC_BUTTON_ZR) ? GX_CLASSIC_ZR_TRIGGER : 0;
|
||||
|
||||
uint32_t down = wpaddata->btns_h;
|
||||
if((down & WPAD_CLASSIC_BUTTON_HOME) && (down & WPAD_CLASSIC_BUTTON_ZL)
|
||||
&& (down & WPAD_CLASSIC_BUTTON_ZR))
|
||||
*state_cur |= GX_QUIT_KEY;
|
||||
|
||||
state |= (down & WPAD_BUTTON_A) ? GX_WIIMOTE_A : 0;
|
||||
state |= (down & WPAD_BUTTON_B) ? GX_WIIMOTE_B : 0;
|
||||
state |= (down & WPAD_BUTTON_1) ? GX_WIIMOTE_1 : 0;
|
||||
state |= (down & WPAD_BUTTON_2) ? GX_WIIMOTE_2 : 0;
|
||||
state |= (down & WPAD_BUTTON_PLUS) ? GX_WIIMOTE_PLUS : 0;
|
||||
state |= (down & WPAD_BUTTON_MINUS) ? GX_WIIMOTE_MINUS : 0;
|
||||
state |= (down & WPAD_BUTTON_HOME) ? GX_WIIMOTE_HOME : 0;
|
||||
|
||||
if((down & WPAD_BUTTON_HOME) && (down & WPAD_BUTTON_B))
|
||||
quit_wiimote = true;
|
||||
|
||||
expansion_t exp = wpaddata->exp;
|
||||
|
||||
switch (type)
|
||||
//TODO: Hack, analog stick twitchiness needs to be properly fixed
|
||||
if(g_extern.draw_menu)
|
||||
{
|
||||
case WPAD_EXP_NUNCHUK:
|
||||
{
|
||||
// wiimote is held upright with nunchuk, do not change d-pad orientation
|
||||
state |= (down & WPAD_BUTTON_UP) ? GX_WIIMOTE_UP : 0;
|
||||
state |= (down & WPAD_BUTTON_DOWN) ? GX_WIIMOTE_DOWN : 0;
|
||||
state |= (down & WPAD_BUTTON_LEFT) ? GX_WIIMOTE_LEFT : 0;
|
||||
state |= (down & WPAD_BUTTON_RIGHT) ? GX_WIIMOTE_RIGHT : 0;
|
||||
s8 x = gx_stick_x(exp->classic.ljs);
|
||||
s8 y = gx_stick_y(exp->classic.ljs);
|
||||
|
||||
state |= (down & WPAD_NUNCHUK_BUTTON_Z) ? GX_NUNCHUK_Z : 0;
|
||||
state |= (down & WPAD_NUNCHUK_BUTTON_C) ? GX_NUNCHUK_C : 0;
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= x > 0 ? GX_CLASSIC_LSTICK_RIGHT : GX_CLASSIC_LSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= y > 0 ? GX_CLASSIC_LSTICK_UP : GX_CLASSIC_LSTICK_DOWN;
|
||||
|
||||
s8 x = gx_stick_x(exp.nunchuk.js);
|
||||
s8 y = gx_stick_y(exp.nunchuk.js);
|
||||
x = gx_stick_x(exp->classic.rjs);
|
||||
y = gx_stick_y(exp->classic.rjs);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
state |= x > 0 ? GX_NUNCHUK_RIGHT : GX_NUNCHUK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
state |= y > 0 ? GX_NUNCHUK_UP : GX_NUNCHUK_DOWN;
|
||||
break;
|
||||
}
|
||||
case WPAD_EXP_CLASSIC:
|
||||
{
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_A) ? GX_CLASSIC_A : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_B) ? GX_CLASSIC_B : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_X) ? GX_CLASSIC_X : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_Y) ? GX_CLASSIC_Y : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_UP) ? GX_CLASSIC_UP : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_DOWN) ? GX_CLASSIC_DOWN : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_LEFT) ? GX_CLASSIC_LEFT : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_RIGHT) ? GX_CLASSIC_RIGHT : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_PLUS) ? GX_CLASSIC_PLUS : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_MINUS) ? GX_CLASSIC_MINUS : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_HOME) ? GX_CLASSIC_HOME : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_FULL_L) ? GX_CLASSIC_L_TRIGGER : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_FULL_R) ? GX_CLASSIC_R_TRIGGER : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_ZL) ? GX_CLASSIC_ZL_TRIGGER : 0;
|
||||
state |= (down & WPAD_CLASSIC_BUTTON_ZR) ? GX_CLASSIC_ZR_TRIGGER : 0;
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= x > 0 ? GX_CLASSIC_RSTICK_RIGHT : GX_CLASSIC_RSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= y > 0 ? GX_CLASSIC_RSTICK_UP : GX_CLASSIC_RSTICK_DOWN;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 ls_x = exp->classic.ljs.pos.x;
|
||||
u8 ls_y = exp->classic.ljs.pos.y;
|
||||
u8 rs_x = exp->classic.rjs.pos.x;
|
||||
u8 rs_y = exp->classic.rjs.pos.y;
|
||||
|
||||
if((down & WPAD_CLASSIC_BUTTON_HOME) && (down & WPAD_CLASSIC_BUTTON_ZL) && (down & WPAD_CLASSIC_BUTTON_ZR))
|
||||
quit_classic = true;
|
||||
|
||||
//TODO: Hack, analog stick twitchiness needs to be properly fixed
|
||||
if(g_extern.draw_menu)
|
||||
{
|
||||
s8 x = gx_stick_x(exp.classic.ljs);
|
||||
s8 y = gx_stick_y(exp.classic.ljs);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
state |= x > 0 ? GX_CLASSIC_LSTICK_RIGHT : GX_CLASSIC_LSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
state |= y > 0 ? GX_CLASSIC_LSTICK_UP : GX_CLASSIC_LSTICK_DOWN;
|
||||
|
||||
x = gx_stick_x(exp.classic.rjs);
|
||||
y = gx_stick_y(exp.classic.rjs);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
state |= x > 0 ? GX_CLASSIC_RSTICK_RIGHT : GX_CLASSIC_RSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
state |= y > 0 ? GX_CLASSIC_RSTICK_UP : GX_CLASSIC_RSTICK_DOWN;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 ls_x = exp.classic.ljs.pos.x;
|
||||
u8 ls_y = exp.classic.ljs.pos.y;
|
||||
u8 rs_x = exp.classic.rjs.pos.x;
|
||||
u8 rs_y = exp.classic.rjs.pos.y;
|
||||
|
||||
state |= (ls_x > 40) ? GX_CLASSIC_LSTICK_RIGHT : 0;
|
||||
state |= (ls_x < 25) ? GX_CLASSIC_LSTICK_LEFT : 0;
|
||||
state |= (ls_y > 45) ? GX_CLASSIC_LSTICK_UP : 0;
|
||||
state |= (ls_y < 20) ? GX_CLASSIC_LSTICK_DOWN : 0;
|
||||
state |= (rs_x > 40) ? GX_CLASSIC_RSTICK_RIGHT : 0;
|
||||
state |= (rs_x < 25) ? GX_CLASSIC_RSTICK_LEFT: 0;
|
||||
state |= (rs_y > 45) ? GX_CLASSIC_RSTICK_UP : 0;
|
||||
state |= (rs_y < 20) ? GX_CLASSIC_RSTICK_DOWN : 0;
|
||||
}
|
||||
// do not return, fall through for wiimote d-pad
|
||||
}
|
||||
default:
|
||||
// rotated d-pad
|
||||
state |= (down & WPAD_BUTTON_UP) ? GX_WIIMOTE_LEFT : 0;
|
||||
state |= (down & WPAD_BUTTON_DOWN) ? GX_WIIMOTE_RIGHT : 0;
|
||||
state |= (down & WPAD_BUTTON_LEFT) ? GX_WIIMOTE_DOWN : 0;
|
||||
state |= (down & WPAD_BUTTON_RIGHT) ? GX_WIIMOTE_UP : 0;
|
||||
break;
|
||||
*state_cur |= (ls_x > 40) ? GX_CLASSIC_LSTICK_RIGHT : 0;
|
||||
*state_cur |= (ls_x < 25) ? GX_CLASSIC_LSTICK_LEFT : 0;
|
||||
*state_cur |= (ls_y > 45) ? GX_CLASSIC_LSTICK_UP : 0;
|
||||
*state_cur |= (ls_y < 20) ? GX_CLASSIC_LSTICK_DOWN : 0;
|
||||
*state_cur |= (rs_x > 40) ? GX_CLASSIC_RSTICK_RIGHT : 0;
|
||||
*state_cur |= (rs_x < 25) ? GX_CLASSIC_RSTICK_LEFT: 0;
|
||||
*state_cur |= (rs_y > 45) ? GX_CLASSIC_RSTICK_UP : 0;
|
||||
*state_cur |= (rs_y < 20) ? GX_CLASSIC_RSTICK_DOWN : 0;
|
||||
}
|
||||
}
|
||||
else if (type == WPAD_EXP_NUNCHUK)
|
||||
{
|
||||
// wiimote is held upright with nunchuk, do not change d-pad orientation
|
||||
*state_cur |= (down & WPAD_BUTTON_UP) ? GX_WIIMOTE_UP : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_DOWN) ? GX_WIIMOTE_DOWN : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_LEFT) ? GX_WIIMOTE_LEFT : 0;
|
||||
*state_cur |= (down & WPAD_BUTTON_RIGHT) ? GX_WIIMOTE_RIGHT : 0;
|
||||
|
||||
*state_cur |= (down & WPAD_NUNCHUK_BUTTON_Z) ? GX_NUNCHUK_Z : 0;
|
||||
*state_cur |= (down & WPAD_NUNCHUK_BUTTON_C) ? GX_NUNCHUK_C : 0;
|
||||
|
||||
s8 x = gx_stick_x(exp->nunchuk.js);
|
||||
s8 y = gx_stick_y(exp->nunchuk.js);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= x > 0 ? GX_NUNCHUK_RIGHT : GX_NUNCHUK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= y > 0 ? GX_NUNCHUK_UP : GX_NUNCHUK_DOWN;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((state & (GX_GC_LSTICK_UP | GX_GC_RSTICK_UP | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER)) == (GX_GC_LSTICK_UP | GX_GC_RSTICK_UP | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER))
|
||||
state |= GX_WIIMOTE_HOME;
|
||||
u32 gc_pads_connected = PAD_ScanPads();
|
||||
|
||||
if (quit_gc
|
||||
#ifdef HW_RVL
|
||||
|| quit_wiimote || quit_classic
|
||||
#endif
|
||||
)
|
||||
state |= GX_QUIT_KEY;
|
||||
if (!gc_pads_connected)
|
||||
goto do_exit;
|
||||
|
||||
pad_state[port] = state;
|
||||
for (unsigned port = 0; port < MAX_PADS; port++)
|
||||
{
|
||||
uint64_t *state_cur = &pad_state[port];
|
||||
|
||||
uint16_t down = PAD_ButtonsHeld(port);
|
||||
|
||||
*state_cur |= (down & PAD_BUTTON_A) ? GX_GC_A : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_B) ? GX_GC_B : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_X) ? GX_GC_X : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_Y) ? GX_GC_Y : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_UP) ? GX_GC_UP : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_DOWN) ? GX_GC_DOWN : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_LEFT) ? GX_GC_LEFT : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_RIGHT) ? GX_GC_RIGHT : 0;
|
||||
*state_cur |= (down & PAD_BUTTON_START) ? GX_GC_START : 0;
|
||||
*state_cur |= (down & PAD_TRIGGER_Z) ? GX_GC_Z_TRIGGER : 0;
|
||||
*state_cur |= ((down & PAD_TRIGGER_L) || PAD_TriggerL(port) > 127) ? GX_GC_L_TRIGGER : 0;
|
||||
*state_cur |= ((down & PAD_TRIGGER_R) || PAD_TriggerR(port) > 127) ? GX_GC_R_TRIGGER : 0;
|
||||
|
||||
s8 x = PAD_StickX(port);
|
||||
s8 y = PAD_StickY(port);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= x > 0 ? GX_GC_LSTICK_RIGHT : GX_GC_LSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= y > 0 ? GX_GC_LSTICK_UP : GX_GC_LSTICK_DOWN;
|
||||
|
||||
x = PAD_SubStickX(port);
|
||||
y = PAD_SubStickY(port);
|
||||
|
||||
if (abs(x) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= x > 0 ? GX_GC_RSTICK_RIGHT : GX_GC_RSTICK_LEFT;
|
||||
if (abs(y) > JOYSTICK_THRESHOLD)
|
||||
*state_cur |= y > 0 ? GX_GC_RSTICK_UP : GX_GC_RSTICK_DOWN;
|
||||
|
||||
if ((*state_cur & (GX_GC_LSTICK_DOWN | GX_GC_RSTICK_DOWN | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER)) == (GX_GC_LSTICK_DOWN | GX_GC_RSTICK_DOWN | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER))
|
||||
*state_cur |= GX_QUIT_KEY;
|
||||
|
||||
if ((*state_cur & (GX_GC_LSTICK_UP | GX_GC_RSTICK_UP | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER)) == (GX_GC_LSTICK_UP | GX_GC_RSTICK_UP | GX_GC_L_TRIGGER | GX_GC_R_TRIGGER))
|
||||
*state_cur |= GX_WIIMOTE_HOME;
|
||||
}
|
||||
|
||||
do_exit:
|
||||
if (g_menu)
|
||||
{
|
||||
pad_state[0] |= GX_WIIMOTE_HOME;
|
||||
|
Loading…
x
Reference in New Issue
Block a user