mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-26 03:41:55 +01:00
6152edff6c
- cleaned up homebrew launcher code a little.
159 lines
8.1 KiB
C
159 lines
8.1 KiB
C
|
|
/* button presses for wiimote && classic controller && nunchuck Z button, also wiiu pro as expansion classic controller */
|
|
#define WBTN_UP_PRESSED (wBtn_Pressed(WPAD_BUTTON_UP, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_UP, WPAD_EXP_CLASSIC))
|
|
#define WBTN_DOWN_PRESSED (wBtn_Pressed(WPAD_BUTTON_DOWN, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_DOWN, WPAD_EXP_CLASSIC))
|
|
#define WBTN_LEFT_PRESSED (wBtn_Pressed(WPAD_BUTTON_LEFT, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_LEFT, WPAD_EXP_CLASSIC))
|
|
#define WBTN_RIGHT_PRESSED (wBtn_Pressed(WPAD_BUTTON_RIGHT, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_RIGHT, WPAD_EXP_CLASSIC))
|
|
#define WBTN_HOME_PRESSED (wBtn_Pressed(WPAD_BUTTON_HOME, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_HOME, WPAD_EXP_CLASSIC))
|
|
#define WBTN_MINUS_PRESSED (wBtn_Pressed(WPAD_BUTTON_MINUS, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_MINUS, WPAD_EXP_CLASSIC))
|
|
#define WBTN_PLUS_PRESSED (wBtn_Pressed(WPAD_BUTTON_PLUS, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_PLUS, WPAD_EXP_CLASSIC))
|
|
#define WBTN_Z_PRESSED (wBtn_Pressed(WPAD_NUNCHUK_BUTTON_Z, WPAD_EXP_NUNCHUK) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_ZR, WPAD_EXP_CLASSIC))
|
|
#define WBTN_A_PRESSED (wBtn_Pressed(WPAD_BUTTON_A, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_A, WPAD_EXP_CLASSIC))
|
|
#define WBTN_B_PRESSED (wBtn_Pressed(WPAD_BUTTON_B, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_B, WPAD_EXP_CLASSIC))
|
|
#define WBTN_1_PRESSED (wBtn_Pressed(WPAD_BUTTON_1, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_Y, WPAD_EXP_CLASSIC))
|
|
#define WBTN_2_PRESSED (wBtn_Pressed(WPAD_BUTTON_2, WPAD_EXP_NONE) \
|
|
|| wBtn_Pressed(WPAD_CLASSIC_BUTTON_X, WPAD_EXP_CLASSIC))
|
|
|
|
#define WBTN_UP_HELD (wBtn_Held(WPAD_BUTTON_UP, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_UP, WPAD_EXP_CLASSIC))
|
|
#define WBTN_DOWN_HELD (wBtn_Held(WPAD_BUTTON_DOWN, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_DOWN, WPAD_EXP_CLASSIC))
|
|
#define WBTN_LEFT_HELD (wBtn_Held(WPAD_BUTTON_LEFT, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_LEFT, WPAD_EXP_CLASSIC))
|
|
#define WBTN_RIGHT_HELD (wBtn_Held(WPAD_BUTTON_RIGHT, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_RIGHT, WPAD_EXP_CLASSIC))
|
|
#define WBTN_HOME_HELD (wBtn_Held(WPAD_BUTTON_HOME, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_HOME, WPAD_EXP_CLASSIC))
|
|
#define WBTN_MINUS_HELD (wBtn_Held(WPAD_BUTTON_MINUS, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_FULL_L, WPAD_EXP_CLASSIC))
|
|
#define WBTN_PLUS_HELD (wBtn_Held(WPAD_BUTTON_PLUS, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_FULL_R, WPAD_EXP_CLASSIC))
|
|
#define WBTN_A_HELD (wBtn_Held(WPAD_BUTTON_A, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_A, WPAD_EXP_CLASSIC))
|
|
#define WBTN_B_HELD (wBtn_Held(WPAD_BUTTON_B, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_B, WPAD_EXP_CLASSIC))
|
|
#define WBTN_1_HELD (wBtn_Held(WPAD_BUTTON_1, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_Y, WPAD_EXP_CLASSIC))
|
|
#define WBTN_2_HELD (wBtn_Held(WPAD_BUTTON_2, WPAD_EXP_NONE) \
|
|
|| wBtn_Held(WPAD_CLASSIC_BUTTON_X, WPAD_EXP_CLASSIC))
|
|
|
|
/* button presses for gamecube controller && DS3 && WiiDRC */
|
|
#define GBTN_UP (PAD_BUTTON_UP)
|
|
#define GBTN_DOWN (PAD_BUTTON_DOWN)
|
|
#define GBTN_LEFT (PAD_BUTTON_LEFT)
|
|
#define GBTN_RIGHT (PAD_BUTTON_RIGHT)
|
|
#define GBTN_START (PAD_BUTTON_MENU)
|
|
#define GBTN_L (PAD_TRIGGER_L)
|
|
#define GBTN_R (PAD_TRIGGER_R)
|
|
#define GBTN_Z (PAD_TRIGGER_Z)
|
|
#define GBTN_A (PAD_BUTTON_A)
|
|
#define GBTN_B (PAD_BUTTON_B)
|
|
#define GBTN_1 (PAD_BUTTON_Y)
|
|
#define GBTN_2 (PAD_BUTTON_X)
|
|
|
|
#define GBTN_UP_PRESSED (gc_btnsPressed & GBTN_UP)
|
|
#define GBTN_DOWN_PRESSED (gc_btnsPressed & GBTN_DOWN)
|
|
#define GBTN_LEFT_PRESSED (gc_btnsPressed & GBTN_LEFT)
|
|
#define GBTN_RIGHT_PRESSED (gc_btnsPressed & GBTN_RIGHT)
|
|
#define GBTN_START_PRESSED (gc_btnsPressed & GBTN_START)
|
|
#define GBTN_L_PRESSED (gc_btnsPressed & GBTN_L)
|
|
#define GBTN_R_PRESSED (gc_btnsPressed & GBTN_R)
|
|
#define GBTN_Z_PRESSED (gc_btnsPressed & GBTN_Z)
|
|
#define GBTN_A_PRESSED (gc_btnsPressed & GBTN_A)
|
|
#define GBTN_B_PRESSED (gc_btnsPressed & GBTN_B)
|
|
#define GBTN_1_PRESSED (gc_btnsPressed & GBTN_1)
|
|
#define GBTN_2_PRESSED (gc_btnsPressed & GBTN_2)
|
|
|
|
#define GBTN_UP_HELD (gc_btnsHeld & GBTN_UP)
|
|
#define GBTN_DOWN_HELD (gc_btnsHeld & GBTN_DOWN)
|
|
#define GBTN_LEFT_HELD (gc_btnsHeld & GBTN_LEFT)
|
|
#define GBTN_RIGHT_HELD (gc_btnsHeld & GBTN_RIGHT)
|
|
#define GBTN_START_HELD (gc_btnsHeld & GBTN_START)
|
|
#define GBTN_L_HELD (gc_btnsHeld & GBTN_L)
|
|
#define GBTN_R_HELD (gc_btnsHeld & GBTN_R)
|
|
#define GBTN_A_HELD (gc_btnsHeld & GBTN_A)
|
|
#define GBTN_B_HELD (gc_btnsHeld & GBTN_B)
|
|
#define GBTN_1_HELD (gc_btnsHeld & GBTN_1)
|
|
#define GBTN_2_HELD (gc_btnsHeld & GBTN_2)
|
|
|
|
/* All controllers (wii & gc combined ) */
|
|
#define BTN_UP_PRESSED (WBTN_UP_PRESSED || GBTN_UP_PRESSED)
|
|
#define BTN_DOWN_PRESSED (WBTN_DOWN_PRESSED || GBTN_DOWN_PRESSED)
|
|
#define BTN_LEFT_PRESSED (WBTN_LEFT_PRESSED || GBTN_LEFT_PRESSED)
|
|
#define BTN_RIGHT_PRESSED (WBTN_RIGHT_PRESSED || GBTN_RIGHT_PRESSED)
|
|
#define BTN_HOME_PRESSED (WBTN_HOME_PRESSED || GBTN_START_PRESSED)
|
|
#define BTN_MINUS_PRESSED (WBTN_MINUS_PRESSED || GBTN_L_PRESSED)
|
|
#define BTN_PLUS_PRESSED (WBTN_PLUS_PRESSED || GBTN_R_PRESSED)
|
|
#define BTN_A_PRESSED (WBTN_A_PRESSED || GBTN_A_PRESSED)
|
|
#define BTN_B_PRESSED (WBTN_B_PRESSED || GBTN_B_PRESSED)
|
|
#define BTN_1_PRESSED (WBTN_1_PRESSED || GBTN_1_PRESSED)
|
|
#define BTN_2_PRESSED (WBTN_2_PRESSED || GBTN_2_PRESSED)
|
|
|
|
#define BTN_UP_HELD (WBTN_UP_HELD || GBTN_UP_HELD)
|
|
#define BTN_DOWN_HELD (WBTN_DOWN_HELD || GBTN_DOWN_HELD)
|
|
#define BTN_LEFT_HELD (WBTN_LEFT_HELD || GBTN_LEFT_HELD)
|
|
#define BTN_RIGHT_HELD (WBTN_RIGHT_HELD || GBTN_RIGHT_HELD)
|
|
#define BTN_HOME_HELD (WBTN_HOME_HELD || GBTN_START_HELD)
|
|
#define BTN_MINUS_HELD (WBTN_MINUS_HELD || GBTN_L_HELD)
|
|
#define BTN_PLUS_HELD (WBTN_PLUS_HELD || GBTN_R_HELD)
|
|
#define BTN_A_HELD (WBTN_A_HELD || GBTN_A_HELD)
|
|
#define BTN_B_HELD (WBTN_B_HELD || GBTN_B_HELD)
|
|
#define BTN_1_HELD (WBTN_1_HELD || GBTN_1_HELD)
|
|
#define BTN_2_HELD (WBTN_2_HELD || GBTN_2_HELD)
|
|
|
|
enum
|
|
{
|
|
WBTN_UP = 0,
|
|
WBTN_DOWN,
|
|
WBTN_LEFT,
|
|
WBTN_RIGHT,
|
|
WBTN_A,
|
|
};
|
|
|
|
#define BTN_UP_REPEAT (wii_btnRepeat(WBTN_UP) || gc_btnRepeat(GBTN_UP))
|
|
#define BTN_DOWN_REPEAT (wii_btnRepeat(WBTN_DOWN) || gc_btnRepeat(GBTN_DOWN))
|
|
#define BTN_LEFT_REPEAT (wii_btnRepeat(WBTN_LEFT) || gc_btnRepeat(GBTN_LEFT))
|
|
#define BTN_RIGHT_REPEAT (wii_btnRepeat(WBTN_RIGHT) || gc_btnRepeat(GBTN_RIGHT))
|
|
#define BTN_A_REPEAT (wii_btnRepeat(WBTN_A) || gc_btnRepeat(GBTN_A))
|
|
|
|
/* joysticks */
|
|
/* left stick = cc left stick && GH3, right stick = cc right stick && nunchuck stick */
|
|
/* ds3, wiidrc, and wiiu pro use their own stick values */
|
|
#define LEFT_STICK_UP lStick_Up()
|
|
#define LEFT_STICK_DOWN lStick_Down()
|
|
#define LEFT_STICK_LEFT lStick_Left()
|
|
#define LEFT_STICK_RIGHT lStick_Right()
|
|
|
|
#define RIGHT_STICK_UP rStick_Up()
|
|
#define RIGHT_STICK_DOWN rStick_Down()
|
|
#define RIGHT_STICK_LEFT rStick_Left()
|
|
#define RIGHT_STICK_RIGHT rStick_Right()
|
|
|
|
#define RIGHT_STICK_MOVE (RIGHT_STICK_UP || RIGHT_STICK_DOWN || RIGHT_STICK_LEFT || RIGHT_STICK_RIGHT)
|
|
#define WROLL_LEFT wRoll_Left()
|
|
#define WROLL_RIGHT wRoll_Right()
|
|
|
|
/* convert stick angles to be used by l or r Stick_direction() above */
|
|
#define LEFT_STICK_ANG_UP (left_stick_angle[chan] >= -60 && left_stick_angle[chan] <= 60)
|
|
#define LEFT_STICK_ANG_RIGHT (left_stick_angle[chan] >= 30 && left_stick_angle[chan] <= 150)
|
|
#define LEFT_STICK_ANG_DOWN ((left_stick_angle[chan] >= 120 && left_stick_angle[chan] <= 180) \
|
|
|| (left_stick_angle[chan] >= -180 && left_stick_angle[chan] <= -120))
|
|
#define LEFT_STICK_ANG_LEFT (left_stick_angle[chan] >= -150 && left_stick_angle[chan] <= -30)
|
|
|
|
#define RIGHT_STICK_ANG_UP (right_stick_angle[chan] >= -60 && right_stick_angle[chan] <= 60)
|
|
#define RIGHT_STICK_ANG_RIGHT (right_stick_angle[chan] >= 30 && right_stick_angle[chan] <= 150)
|
|
#define RIGHT_STICK_ANG_DOWN ((right_stick_angle[chan] >= 120 && right_stick_angle[chan] <= 180) \
|
|
|| (right_stick_angle[chan] >= -180 && right_stick_angle[chan] <= -120))
|
|
#define RIGHT_STICK_ANG_LEFT (right_stick_angle[chan] >= -150 && right_stick_angle[chan] <= -30)
|