X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Flibretro.c;h=d0a0da76267ea632d6192b796b127644b8a4446e;hb=f533290e855dcdb9d266f147716b10e9a6268058;hp=395bc13e7236d5a7d3d85457bd5b79b359d12322;hpb=226a5691296bfb4f22d916348821b0eed6399a89;p=pcsx_rearmed.git diff --git a/frontend/libretro.c b/frontend/libretro.c index 395bc13e..d0a0da76 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -121,7 +121,6 @@ int in_mouse[8][2]; int multitap1 = 0; int multitap2 = 0; int in_enable_vibration = 1; -static int input_changed = 0; // NegCon adjustment parameters // > The NegCon 'twist' action is somewhat awkward when mapped @@ -592,37 +591,24 @@ unsigned retro_api_version(void) static void update_multitap(void) { - struct retro_variable var = {}; + struct retro_variable var = { 0 }; + + multitap1 = 0; + multitap2 = 0; var.value = NULL; var.key = "pcsx_rearmed_multitap"; if (environ_cb && (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)) { - if (strcmp(var.value, "port 1 only") == 0) - { + if (strcmp(var.value, "port 1") == 0) multitap1 = 1; - multitap2 = 0; - } - else if (strcmp(var.value, "port 2 only") == 0) - { - multitap1 = 0; + else if (strcmp(var.value, "port 2") == 0) multitap2 = 1; - } - else if (strcmp(var.value, "both") == 0) + else if (strcmp(var.value, "ports 1 and 2") == 0) { multitap1 = 1; multitap2 = 1; } - else - { - multitap1 = 0; - multitap2 = 0; - } - } - else - { - multitap1 = 0; - multitap2 = 0; } } @@ -659,7 +645,6 @@ void retro_set_controller_port_device(unsigned port, unsigned device) } SysPrintf("port: %u device: %s\n", port + 1, get_pse_pad_label[in_type[port]]); - input_changed = 1; } void retro_get_system_info(struct retro_system_info *info) @@ -1116,7 +1101,7 @@ static bool read_m3u(const char *file) if (!fp) return false; - while (fgets(fp, line, sizeof(line)) && disk_count < sizeof(disks) / sizeof(disks[0])) + while (fgets(line, sizeof(line), fp) && disk_count < sizeof(disks) / sizeof(disks[0])) { if (line[0] == '#') continue; @@ -1400,6 +1385,10 @@ bool retro_load_game(const struct retro_game_info *info) } } + /* set ports to use "standard controller" initially */ + for (i = 0; i < 8; ++i) + in_type[i] = PSE_PAD_TYPE_STANDARD; + plugin_call_rearmed_cbs(); /* dfinput_activate(); */ @@ -1420,8 +1409,6 @@ bool retro_load_game(const struct retro_game_info *info) set_retro_memmap(); - input_changed = 1; - return true; } @@ -1510,9 +1497,6 @@ static void update_variables(bool in_flight) Config.PsxType = 1; } - /*for (i = 0; i < PORTS_NUMBER; i++) - update_controller_port_variable(i);*/ - update_multitap(); var.value = NULL; @@ -2520,19 +2504,6 @@ static void print_internal_fps(void) void retro_run(void) { - /* update multitap when inputs have changed */ - /* this is only applied on core restart */ - if (input_changed) - { - int i; - input_changed = 0; - update_multitap(); - for (i = 0; i < 8; i++) - SysDLog("Player %d: %s\n", i + 1, get_pse_pad_label[in_type[i]]); - SysDLog("Multiplayer 1: %s\n", multitap1 ? "enabled" : "disabled"); - SysDLog("Multiplayer 2: %s\n", multitap2 ? "enabled" : "disabled"); - } - //SysReset must be run while core is running,Not in menu (Locks up Retroarch) if (rebootemu != 0) {