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
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;
}
}
}
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)
for (i = 0; i < sizeof(disks) / sizeof(disks[0]) && i < cdrIsoMultidiskCount; i++)
{
- char disk_name[PATH_MAX];
- char disk_label[PATH_MAX];
- disk_name[0] = '\0';
- disk_label[0] = '\0';
+ char disk_name[PATH_MAX - 16] = { 0 };
+ char disk_label[PATH_MAX] = { 0 };
disks[i].fname = strdup(info->path);
- get_disk_label(disk_name, info->path, PATH_MAX);
+ get_disk_label(disk_name, info->path, sizeof(disk_name));
snprintf(disk_label, sizeof(disk_label), "%s #%u", disk_name, (unsigned)i + 1);
disks[i].flabel = strdup(disk_label);
}
}
+ /* 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(); */
set_retro_memmap();
- input_changed = 1;
-
return true;
}
Config.PsxType = 1;
}
- /*for (i = 0; i < PORTS_NUMBER; i++)
- update_controller_port_variable(i);*/
-
update_multitap();
var.value = NULL;
var.value = NULL;
var.key = "pcsx_rearmed_drc";
- if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
+ if (!environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var))
+ var.value = "enabled";
+
{
R3000Acpu *prev_cpu = psxCpu;
#if defined(LIGHTREC)
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)
{
#ifdef _3DS
vout_buf = linearMemAlign(VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2, 0x80);
#elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && !defined(VITA) && !defined(__SWITCH__)
- posix_memalign(&vout_buf, 16, VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
+ if (posix_memalign(&vout_buf, 16, VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2) != 0)
+ vout_buf = (void *) 0;
#else
vout_buf = malloc(VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
#endif