mirror of
https://github.com/dborth/vbagx.git
synced 2024-11-29 05:54:17 +01:00
tidy up code
This commit is contained in:
parent
58d3adde97
commit
04df044637
@ -196,11 +196,19 @@ class GuiTrigger
|
|||||||
//!\param wiibtns Wii controller trigger button(s) - classic controller buttons are considered separately
|
//!\param wiibtns Wii controller trigger button(s) - classic controller buttons are considered separately
|
||||||
//!\param gcbtns GameCube controller trigger button(s)
|
//!\param gcbtns GameCube controller trigger button(s)
|
||||||
void SetButtonOnlyInFocusTrigger(s32 ch, u32 wiibtns, u16 gcbtns);
|
void SetButtonOnlyInFocusTrigger(s32 ch, u32 wiibtns, u16 gcbtns);
|
||||||
//!Get X/Y value from Wii Joystick (classic, nunchuk) input
|
//!Get X or Y value from Wii Joystick (classic, nunchuk) input
|
||||||
//!\param right Controller stick (left = 0, right = 1)
|
//!\param stick Controller stick (left = 0, right = 1)
|
||||||
//!\param axis Controller stick axis (x-axis = 0, y-axis = 1)
|
//!\param axis Controller stick axis (x-axis = 0, y-axis = 1)
|
||||||
//!\return Stick value
|
//!\return Stick value
|
||||||
s8 WPAD_Stick(u8 right, int axis);
|
s8 WPAD_Stick(u8 stick, int axis);
|
||||||
|
//!Get X value from Wii Joystick (classic, nunchuk) input
|
||||||
|
//!\param stick Controller stick (left = 0, right = 1)
|
||||||
|
//!\return Stick value
|
||||||
|
s8 WPAD_StickX(u8 stick);
|
||||||
|
//!Get Y value from Wii Joystick (classic, nunchuk) input
|
||||||
|
//!\param stick Controller stick (left = 0, right = 1)
|
||||||
|
//!\return Stick value
|
||||||
|
s8 WPAD_StickY(u8 stick);
|
||||||
//!Move menu selection left (via pad/joystick). Allows scroll delay and button overriding
|
//!Move menu selection left (via pad/joystick). Allows scroll delay and button overriding
|
||||||
//!\return true if selection should be moved left, false otherwise
|
//!\return true if selection should be moved left, false otherwise
|
||||||
bool Left();
|
bool Left();
|
||||||
|
@ -87,7 +87,7 @@ void GuiTrigger::SetButtonOnlyInFocusTrigger(s32 ch, u32 wiibtns, u16 gcbtns)
|
|||||||
* Get X/Y value from Wii Joystick (classic, nunchuk) input
|
* Get X/Y value from Wii Joystick (classic, nunchuk) input
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
s8 GuiTrigger::WPAD_Stick(u8 right, int axis)
|
s8 GuiTrigger::WPAD_Stick(u8 stick, int axis)
|
||||||
{
|
{
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ s8 GuiTrigger::WPAD_Stick(u8 right, int axis)
|
|||||||
{
|
{
|
||||||
case WPAD_EXP_NUNCHUK:
|
case WPAD_EXP_NUNCHUK:
|
||||||
case WPAD_EXP_GUITARHERO3:
|
case WPAD_EXP_GUITARHERO3:
|
||||||
if (right == 0)
|
if (stick == 0)
|
||||||
{
|
{
|
||||||
mag = wpad->exp.nunchuk.js.mag;
|
mag = wpad->exp.nunchuk.js.mag;
|
||||||
ang = wpad->exp.nunchuk.js.ang;
|
ang = wpad->exp.nunchuk.js.ang;
|
||||||
@ -106,7 +106,7 @@ s8 GuiTrigger::WPAD_Stick(u8 right, int axis)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case WPAD_EXP_CLASSIC:
|
case WPAD_EXP_CLASSIC:
|
||||||
if (right == 0)
|
if (stick == 0)
|
||||||
{
|
{
|
||||||
mag = wpad->exp.classic.ljs.mag;
|
mag = wpad->exp.classic.ljs.mag;
|
||||||
ang = wpad->exp.classic.ljs.ang;
|
ang = wpad->exp.classic.ljs.ang;
|
||||||
@ -139,6 +139,16 @@ s8 GuiTrigger::WPAD_Stick(u8 right, int axis)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s8 GuiTrigger::WPAD_StickX(u8 stick)
|
||||||
|
{
|
||||||
|
return WPAD_Stick(stick, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
s8 GuiTrigger::WPAD_StickY(u8 stick)
|
||||||
|
{
|
||||||
|
return WPAD_Stick(stick, 1);
|
||||||
|
}
|
||||||
|
|
||||||
bool GuiTrigger::Left()
|
bool GuiTrigger::Left()
|
||||||
{
|
{
|
||||||
u32 wiibtn = GCSettings.WiimoteOrientation ? WPAD_BUTTON_UP : WPAD_BUTTON_LEFT;
|
u32 wiibtn = GCSettings.WiimoteOrientation ? WPAD_BUTTON_UP : WPAD_BUTTON_LEFT;
|
||||||
|
@ -37,10 +37,10 @@ GuiTrigger userInput[4];
|
|||||||
static int rumbleCount[4] = {0,0,0,0};
|
static int rumbleCount[4] = {0,0,0,0};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool cartridgeRumble = false, possibleCartridgeRumble = false;
|
static bool cartridgeRumble = false, possibleCartridgeRumble = false;
|
||||||
int gameRumbleCount = 0, menuRumbleCount = 0, rumbleCountAlready = 0;
|
static int gameRumbleCount = 0, menuRumbleCount = 0, rumbleCountAlready = 0;
|
||||||
|
|
||||||
unsigned int vbapadmap[10]; // VBA controller buttons
|
static unsigned int vbapadmap[10]; // VBA controller buttons
|
||||||
u32 btnmap[5][10]; // button mapping
|
u32 btnmap[5][10]; // button mapping
|
||||||
|
|
||||||
void ResetControls(int wiiCtrl)
|
void ResetControls(int wiiCtrl)
|
||||||
@ -299,71 +299,14 @@ void systemGameRumbleOnlyFor(int OnlyRumbleForFrames) {
|
|||||||
gameRumbleCount = OnlyRumbleForFrames;
|
gameRumbleCount = OnlyRumbleForFrames;
|
||||||
}
|
}
|
||||||
|
|
||||||
void systemMenuRumble(int RumbleForFrames) {
|
u32 StandardMovement(unsigned short chan)
|
||||||
if (RumbleForFrames > menuRumbleCount) menuRumbleCount = RumbleForFrames;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* WPAD_Stick
|
|
||||||
*
|
|
||||||
* Get X/Y value from Wii Joystick (classic, nunchuk) input
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
s8 WPAD_Stick(u8 chan, u8 right, int axis)
|
|
||||||
{
|
|
||||||
float mag = 0.0;
|
|
||||||
float ang = 0.0;
|
|
||||||
WPADData *data = WPAD_Data(chan);
|
|
||||||
|
|
||||||
switch (data->exp.type)
|
|
||||||
{
|
|
||||||
case WPAD_EXP_NUNCHUK:
|
|
||||||
case WPAD_EXP_GUITARHERO3:
|
|
||||||
if (right == 0)
|
|
||||||
{
|
|
||||||
mag = data->exp.nunchuk.js.mag;
|
|
||||||
ang = data->exp.nunchuk.js.ang;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WPAD_EXP_CLASSIC:
|
|
||||||
if (right == 0)
|
|
||||||
{
|
|
||||||
mag = data->exp.classic.ljs.mag;
|
|
||||||
ang = data->exp.classic.ljs.ang;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mag = data->exp.classic.rjs.mag;
|
|
||||||
ang = data->exp.classic.rjs.ang;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* calculate x/y value (angle need to be converted into radian) */
|
|
||||||
if (mag > 1.0) mag = 1.0;
|
|
||||||
else if (mag < -1.0) mag = -1.0;
|
|
||||||
double val;
|
|
||||||
|
|
||||||
if(axis == 0) // x-axis
|
|
||||||
val = mag * sin((PI * ang)/180.0f);
|
|
||||||
else // y-axis
|
|
||||||
val = mag * cos((PI * ang)/180.0f);
|
|
||||||
|
|
||||||
return (s8)(val * 128.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 StandardMovement(unsigned short pad)
|
|
||||||
{
|
{
|
||||||
u32 J = 0;
|
u32 J = 0;
|
||||||
signed char pad_x = PAD_StickX (pad);
|
s8 pad_x = userInput[chan].pad.stickX;
|
||||||
signed char pad_y = PAD_StickY (pad);
|
s8 pad_y = userInput[chan].pad.stickY;
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
signed char wm_ax = WPAD_Stick ((u8)pad, 0, 0);
|
s8 wm_ax = userInput[0].WPAD_StickX(0);
|
||||||
signed char wm_ay = WPAD_Stick ((u8)pad, 0, 1);
|
s8 wm_ay = userInput[0].WPAD_StickY(0);
|
||||||
#endif
|
#endif
|
||||||
/***
|
/***
|
||||||
Gamecube Joystick input, same as normal
|
Gamecube Joystick input, same as normal
|
||||||
@ -714,10 +657,10 @@ u32 DecodeNunchuk(unsigned short pad)
|
|||||||
{
|
{
|
||||||
u32 J = 0;
|
u32 J = 0;
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
WPADData * wp = WPAD_Data(pad);
|
|
||||||
for (int i = 0; i < MAXJP; i++)
|
for (int i = 0; i < MAXJP; i++)
|
||||||
{
|
{
|
||||||
if ( (wp->exp.type == WPAD_EXP_NUNCHUK) && (wp->btns_h & btnmap[CTRLR_NUNCHUK][i]) )
|
if ( (userInput[pad].wpad->exp.type == WPAD_EXP_NUNCHUK) &&
|
||||||
|
(userInput[pad].wpad->btns_h & btnmap[CTRLR_NUNCHUK][i]) )
|
||||||
J |= vbapadmap[i];
|
J |= vbapadmap[i];
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -749,9 +692,8 @@ u32 PAD_ButtonsHeldFake(unsigned short pad)
|
|||||||
{
|
{
|
||||||
u32 gc = 0;
|
u32 gc = 0;
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
WPADData * wp = WPAD_Data(pad);
|
if (userInput[pad].wpad->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
gc = CCToGC(userInput[pad].wpad->btns_h);
|
||||||
gc = CCToGC(wp->btns_h);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return gc;
|
return gc;
|
||||||
@ -760,9 +702,8 @@ u32 PAD_ButtonsDownFake(unsigned short pad)
|
|||||||
{
|
{
|
||||||
u32 gc = 0;
|
u32 gc = 0;
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
WPADData * wp = WPAD_Data(pad);
|
if (userInput[pad].wpad->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
gc = CCToGC(userInput[pad].wpad->btns_d);
|
||||||
gc = CCToGC(wp->btns_d);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return gc;
|
return gc;
|
||||||
@ -771,9 +712,8 @@ u32 PAD_ButtonsUpFake(unsigned short pad)
|
|||||||
{
|
{
|
||||||
u32 gc = 0;
|
u32 gc = 0;
|
||||||
#ifdef HW_RVL
|
#ifdef HW_RVL
|
||||||
WPADData * wp = WPAD_Data(pad);
|
if (userInput[pad].wpad->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
gc = CCToGC(userInput[pad].wpad->btns_u);
|
||||||
gc = CCToGC(wp->btns_u);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return gc;
|
return gc;
|
||||||
|
@ -40,7 +40,6 @@ void DoRumble(int i);
|
|||||||
void systemGameRumble(int RumbleForFrames);
|
void systemGameRumble(int RumbleForFrames);
|
||||||
void systemGameRumbleOnlyFor(int OnlyRumbleForFrames);
|
void systemGameRumbleOnlyFor(int OnlyRumbleForFrames);
|
||||||
void updateRumbleFrame();
|
void updateRumbleFrame();
|
||||||
s8 WPAD_Stick(u8 chan,u8 right, int axis);
|
|
||||||
u32 GetJoy(int which);
|
u32 GetJoy(int which);
|
||||||
bool MenuRequested();
|
bool MenuRequested();
|
||||||
void SetupPads();
|
void SetupPads();
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
#include "gui/gui.h"
|
||||||
#include "gameinput.h"
|
#include "gameinput.h"
|
||||||
#include "vbasupport.h"
|
#include "vbasupport.h"
|
||||||
#include "wiiusbsupport.h"
|
#include "wiiusbsupport.h"
|
||||||
@ -287,8 +288,8 @@ u32 LinksAwakeningInput(unsigned short pad) // aka Zelda DX
|
|||||||
// but with R as the B button like in Twilight Princess
|
// but with R as the B button like in Twilight Princess
|
||||||
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
J |= StandardDPad(pad);
|
J |= StandardDPad(pad);
|
||||||
signed char wm_sx = WPAD_Stick(pad,1,0); // CC right joystick
|
s8 wm_sx = userInput[pad].WPAD_StickX(1); // CC right joystick
|
||||||
signed char wm_sy = WPAD_Stick(pad,1,1); // CC right joystick
|
s8 wm_sy = userInput[pad].WPAD_StickY(1); // CC right joystick
|
||||||
static bool StickReady = true;
|
static bool StickReady = true;
|
||||||
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
||||||
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
||||||
@ -313,7 +314,7 @@ u32 LinksAwakeningInput(unsigned short pad) // aka Zelda DX
|
|||||||
// Gamecube controls are based on Twilight Princess for the Gamecube
|
// Gamecube controls are based on Twilight Princess for the Gamecube
|
||||||
{
|
{
|
||||||
u32 gc = PAD_ButtonsHeld(pad);
|
u32 gc = PAD_ButtonsHeld(pad);
|
||||||
signed char gc_px = PAD_SubStickX(pad);
|
s8 gc_px = PAD_SubStickX(pad);
|
||||||
if (gc_px > 70) J |= VBA_SPEED;
|
if (gc_px > 70) J |= VBA_SPEED;
|
||||||
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
||||||
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
||||||
@ -619,8 +620,8 @@ static u32 ZeldaOracleInput(bool Seasons, unsigned short pad) {
|
|||||||
// but with R as the B button like in Twilight Princess
|
// but with R as the B button like in Twilight Princess
|
||||||
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
J |= StandardDPad(pad);
|
J |= StandardDPad(pad);
|
||||||
signed char wm_sx = WPAD_Stick(pad,1,0); // CC right joystick
|
s8 wm_sx = userInput[pad].WPAD_StickX(1); // CC right joystick
|
||||||
signed char wm_sy = WPAD_Stick(pad,1,1); // CC right joystick
|
s8 wm_sy = userInput[pad].WPAD_StickY(1); // CC right joystick
|
||||||
static bool StickReady = true;
|
static bool StickReady = true;
|
||||||
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
||||||
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
||||||
@ -645,7 +646,7 @@ static u32 ZeldaOracleInput(bool Seasons, unsigned short pad) {
|
|||||||
{
|
{
|
||||||
u32 gc = PAD_ButtonsHeld(pad);
|
u32 gc = PAD_ButtonsHeld(pad);
|
||||||
u32 pressed = PAD_ButtonsDown(pad);
|
u32 pressed = PAD_ButtonsDown(pad);
|
||||||
signed char gc_px = PAD_SubStickX(pad);
|
s8 gc_px = PAD_SubStickX(pad);
|
||||||
if (gc_px > 70) J |= VBA_SPEED;
|
if (gc_px > 70) J |= VBA_SPEED;
|
||||||
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
||||||
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
||||||
@ -1214,8 +1215,8 @@ u32 MinishCapInput(unsigned short pad)
|
|||||||
// but with R as the B button like in Twilight Princess
|
// but with R as the B button like in Twilight Princess
|
||||||
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
} else if (wp->exp.type == WPAD_EXP_CLASSIC) {
|
||||||
J |= StandardDPad(pad);
|
J |= StandardDPad(pad);
|
||||||
signed char wm_sx = WPAD_Stick(pad,1,0); // CC right joystick
|
s8 wm_sx = userInput[pad].WPAD_StickX(1); // CC right joystick
|
||||||
signed char wm_sy = WPAD_Stick(pad,1,1); // CC right joystick
|
s8 wm_sy = userInput[pad].WPAD_StickY(1); // CC right joystick
|
||||||
static bool StickReady = true;
|
static bool StickReady = true;
|
||||||
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
ActionButton = wp->btns_h & WPAD_CLASSIC_BUTTON_A;
|
||||||
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
SwordButton = wp->btns_h & WPAD_CLASSIC_BUTTON_B;
|
||||||
@ -1241,7 +1242,7 @@ u32 MinishCapInput(unsigned short pad)
|
|||||||
{
|
{
|
||||||
u32 gc = PAD_ButtonsHeld(pad);
|
u32 gc = PAD_ButtonsHeld(pad);
|
||||||
u32 pressed = PAD_ButtonsDown(pad);
|
u32 pressed = PAD_ButtonsDown(pad);
|
||||||
signed char gc_px = PAD_SubStickX(pad);
|
s8 gc_px = PAD_SubStickX(pad);
|
||||||
if (gc_px > 70) J |= VBA_SPEED;
|
if (gc_px > 70) J |= VBA_SPEED;
|
||||||
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
ActionButton = ActionButton || gc & PAD_BUTTON_A;
|
||||||
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
PullButton = PullButton || gc & PAD_TRIGGER_R;
|
||||||
|
Loading…
Reference in New Issue
Block a user