2828#include "controller.h"
2929
3030enum {
31- ANALOG_AS_ANALOG = 1 , C_STICK_AS_ANALOG = 2 ,
32- };
33-
34- enum {
35- ANALOG_L = 0x01 << 16 ,
36- ANALOG_R = 0x02 << 16 ,
37- ANALOG_U = 0x04 << 16 ,
38- ANALOG_D = 0x08 << 16 ,
39- C_STICK_L = 0x10 << 16 ,
40- C_STICK_R = 0x20 << 16 ,
41- C_STICK_U = 0x40 << 16 ,
42- C_STICK_D = 0x80 << 16 ,
31+ STICK_AS_ANALOG = 1 , SUBSTICK_AS_ANALOG = 2 ,
4332};
4433
4534static button_t buttons [] = {
46- { 0 , ~0 , "None" },
47- { 1 , PAD_BUTTON_UP , "D-Up" },
48- { 2 , PAD_BUTTON_LEFT , "D-Left" },
49- { 3 , PAD_BUTTON_RIGHT , "D-Right" },
50- { 4 , PAD_BUTTON_DOWN , "D-Down" },
51- { 5 , PAD_TRIGGER_Z , "Z" },
52- { 6 , PAD_TRIGGER_L , "L" },
53- { 7 , PAD_TRIGGER_R , "R" },
54- { 8 , PAD_BUTTON_A , "A" },
55- { 9 , PAD_BUTTON_B , "B" },
56- { 10 , PAD_BUTTON_X , "X" },
57- { 11 , PAD_BUTTON_Y , "Y" },
58- { 12 , PAD_BUTTON_START , "Start" },
59- { 13 , C_STICK_U , "C-Up" },
60- { 14 , C_STICK_L , "C-Left" },
61- { 15 , C_STICK_R , "C-Right" },
62- { 16 , C_STICK_D , "C-Down" },
63- { 17 , ANALOG_U , "A-Up" },
64- { 18 , ANALOG_L , "A-Left" },
65- { 19 , ANALOG_R , "A-Right" },
66- { 20 , ANALOG_D , "A-Down" },
35+ { 0 , ~0 , "None" },
36+ { 1 , PAD_BUTTON_UP , "D-Up" },
37+ { 2 , PAD_BUTTON_LEFT , "D-Left" },
38+ { 3 , PAD_BUTTON_RIGHT , "D-Right" },
39+ { 4 , PAD_BUTTON_DOWN , "D-Down" },
40+ { 5 , PAD_TRIGGER_Z , "Z" },
41+ { 6 , PAD_TRIGGER_L , "L" },
42+ { 7 , PAD_TRIGGER_R , "R" },
43+ { 8 , PAD_BUTTON_A , "A" },
44+ { 9 , PAD_BUTTON_B , "B" },
45+ { 10 , PAD_BUTTON_X , "X" },
46+ { 11 , PAD_BUTTON_Y , "Y" },
47+ { 12 , PAD_BUTTON_START , "Start" },
48+ { 13 , PAD_SUBSTICK_UP , "C-Up" },
49+ { 14 , PAD_SUBSTICK_LEFT , "C-Left" },
50+ { 15 , PAD_SUBSTICK_RIGHT , "C-Right" },
51+ { 16 , PAD_SUBSTICK_DOWN , "C-Down" },
52+ { 17 , PAD_STICK_UP , "A-Up" },
53+ { 18 , PAD_STICK_LEFT , "A-Left" },
54+ { 19 , PAD_STICK_RIGHT , "A-Right" },
55+ { 20 , PAD_STICK_DOWN , "A-Down" },
6756};
6857
6958static button_t analog_sources [] = {
70- { 0 , ANALOG_AS_ANALOG , "Analog Stick" },
71- { 1 , C_STICK_AS_ANALOG , "C-Stick" },
59+ { 0 , STICK_AS_ANALOG , "Analog Stick" },
60+ { 1 , SUBSTICK_AS_ANALOG , "C-Stick" },
7261};
7362
7463static button_t menu_combos [] = {
@@ -78,30 +67,8 @@ static button_t menu_combos[] = {
7867
7968u32 gc_connected ;
8069
81- static unsigned int getButtons (int Control )
82- {
83- unsigned int b = PAD_ButtonsHeld (Control );
84- s8 stickX = PAD_StickX (Control );
85- s8 stickY = PAD_StickY (Control );
86- s8 substickX = PAD_SubStickX (Control );
87- s8 substickY = PAD_SubStickY (Control );
88- u8 triggerL = PAD_TriggerL (Control );
89- u8 triggerR = PAD_TriggerR (Control );
90-
91- if (stickX < -48 ) b |= ANALOG_L ;
92- if (stickX > 48 ) b |= ANALOG_R ;
93- if (stickY > 48 ) b |= ANALOG_U ;
94- if (stickY < -48 ) b |= ANALOG_D ;
95-
96- if (substickX < -48 ) b |= C_STICK_L ;
97- if (substickX > 48 ) b |= C_STICK_R ;
98- if (substickY > 48 ) b |= C_STICK_U ;
99- if (substickY < -48 ) b |= C_STICK_D ;
100-
101- if (triggerL & 0x80 ) b |= PAD_TRIGGER_L ;
102- if (triggerR & 0x80 ) b |= PAD_TRIGGER_R ;
103-
104- return b ;
70+ static unsigned int getButtons (int Control ){
71+ return PAD_ButtonsHeld (Control );
10572}
10673
10774static int _GetKeys (int Control , BUTTONS * Keys , controller_config_t * config )
@@ -136,10 +103,10 @@ static int _GetKeys(int Control, BUTTONS * Keys, controller_config_t* config)
136103 c -> D_CBUTTON = isHeld (config -> CD );
137104 c -> U_CBUTTON = isHeld (config -> CU );
138105
139- if (config -> analog -> mask == ANALOG_AS_ANALOG ){
106+ if (config -> analog -> mask == STICK_AS_ANALOG ){
140107 c -> X_AXIS = PAD_StickX (Control );
141108 c -> Y_AXIS = PAD_StickY (Control );
142- } else if (config -> analog -> mask == C_STICK_AS_ANALOG ){
109+ } else if (config -> analog -> mask == SUBSTICK_AS_ANALOG ){
143110 c -> X_AXIS = PAD_SubStickX (Control );
144111 c -> Y_AXIS = PAD_SubStickY (Control );
145112 }
0 commit comments