added rumble support
This commit is contained in:
parent
d00c5af62a
commit
5e8dc211a3
3 changed files with 16 additions and 8 deletions
|
|
@ -1028,3 +1028,6 @@ int POW_getBattery(void) { // 0-100 in 5% increments
|
||||||
i *= 5;
|
i *= 5;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
void POW_setRumble(int strength) {
|
||||||
|
putInt("/sys/class/power_supply/battery/moto", strength);
|
||||||
|
}
|
||||||
|
|
@ -169,6 +169,7 @@ void POW_enableAutosleep(void);
|
||||||
int POW_preventAutosleep(void);
|
int POW_preventAutosleep(void);
|
||||||
int POW_isCharging(void);
|
int POW_isCharging(void);
|
||||||
int POW_getBattery(void);
|
int POW_getBattery(void);
|
||||||
|
void POW_setRumble(int strength); // 0-100
|
||||||
|
|
||||||
///////////////////////////////
|
///////////////////////////////
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ static void Game_open(char* path) {
|
||||||
}
|
}
|
||||||
static void Game_close(void) {
|
static void Game_close(void) {
|
||||||
free(game.data);
|
free(game.data);
|
||||||
|
POW_setRumble(0); // just in case
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct retro_disk_control_ext_callback disk_control_ext;
|
static struct retro_disk_control_ext_callback disk_control_ext;
|
||||||
|
|
@ -293,6 +294,10 @@ static struct {
|
||||||
char key[128];
|
char key[128];
|
||||||
char value[128];
|
char value[128];
|
||||||
} tmp_options[128];
|
} tmp_options[128];
|
||||||
|
static bool set_rumble_state(unsigned port, enum retro_rumble_effect effect, uint16_t strength) {
|
||||||
|
// TODO: handle other args? not sure I can
|
||||||
|
POW_setRumble(strength);
|
||||||
|
}
|
||||||
static bool environment_callback(unsigned cmd, void *data) { // copied from picoarch initially
|
static bool environment_callback(unsigned cmd, void *data) { // copied from picoarch initially
|
||||||
// printf("environment_callback: %i\n", cmd); fflush(stdout);
|
// printf("environment_callback: %i\n", cmd); fflush(stdout);
|
||||||
|
|
||||||
|
|
@ -391,14 +396,13 @@ static bool environment_callback(unsigned cmd, void *data) { // copied from pico
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// case RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: { /* 23 */
|
case RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: { /* 23 */
|
||||||
// struct retro_rumble_interface *iface =
|
struct retro_rumble_interface *iface = (struct retro_rumble_interface*)data;
|
||||||
// (struct retro_rumble_interface*)data;
|
|
||||||
//
|
LOG_info("Setup rumble interface.\n");
|
||||||
// PA_INFO("Setup rumble interface.\n");
|
iface->set_rumble_state = set_rumble_state;
|
||||||
// iface->set_rumble_state = pa_set_rumble_state;
|
break;
|
||||||
// break;
|
}
|
||||||
// }
|
|
||||||
case RETRO_ENVIRONMENT_GET_LOG_INTERFACE: { /* 27 */
|
case RETRO_ENVIRONMENT_GET_LOG_INTERFACE: { /* 27 */
|
||||||
struct retro_log_callback *log_cb = (struct retro_log_callback *)data;
|
struct retro_log_callback *log_cb = (struct retro_log_callback *)data;
|
||||||
if (log_cb)
|
if (log_cb)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue