X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Flibretro.c;h=b4734367a48432137318b93e1cb8753afe9473e9;hb=7c455640bf54adc32e13e76a2f8a6f84b4e972a8;hp=a8895d83b9709dfe985bbf747f60a8eb5189d8eb;hpb=a34093eb63d1645fd2de9b412efe2587df9fdb3f;p=pcsx_rearmed.git diff --git a/frontend/libretro.c b/frontend/libretro.c index a8895d83..b4734367 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -1999,6 +1999,17 @@ static void update_variables(bool in_flight) pl_rearmed_cbs.gpu_unai.blending = 1; } + var.key = "pcsx_rearmed_gpu_unai_scale_hires"; + var.value = NULL; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + if (strcmp(var.value, "disabled") == 0) + pl_rearmed_cbs.gpu_unai.scale_hires = 0; + else if (strcmp(var.value, "enabled") == 0) + pl_rearmed_cbs.gpu_unai.scale_hires = 1; + } + var.key = "pcsx_rearmed_show_gpu_unai_settings"; var.value = NULL; @@ -2014,17 +2025,18 @@ static void update_variables(bool in_flight) { unsigned i; struct retro_core_option_display option_display; - char gpu_unai_option[5][40] = { + char gpu_unai_option[6][40] = { "pcsx_rearmed_gpu_unai_blending", "pcsx_rearmed_gpu_unai_lighting", "pcsx_rearmed_gpu_unai_fast_lighting", "pcsx_rearmed_gpu_unai_ilace_force", - "pcsx_rearmed_gpu_unai_pixel_skip" + "pcsx_rearmed_gpu_unai_pixel_skip", + "pcsx_rearmed_gpu_unai_scale_hires" }; option_display.visible = show_advanced_gpu_unai_settings; - for (i = 0; i < 5; i++) + for (i = 0; i < 6; i++) { option_display.key = gpu_unai_option[i]; environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY, &option_display); @@ -2258,40 +2270,35 @@ static void update_input_guncon(int port, int ret) //RETRO_DEVICE_ID_LIGHTGUN_AUX_B //Though not sure these are hooked up properly on the Pi - //ToDo - //Put the controller index back to port instead of hardcoding to 1 when the libretro overlay crash bug is fixed - //This is required for 2 player - //GUNCON has 3 controls, Trigger,A,B which equal Circle,Start,Cross // Trigger //The 1 is hardcoded instead of port to prevent the overlay mouse button libretro crash bug - if (input_state_cb(1, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_LEFT)) + if (input_state_cb(port, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_LEFT)) { in_keystate[port] |= (1 << DKEY_CIRCLE); } // A - if (input_state_cb(1, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT)) + if (input_state_cb(port, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT)) { in_keystate[port] |= (1 << DKEY_START); } // B - if (input_state_cb(1, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_MIDDLE)) + if (input_state_cb(port, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_MIDDLE)) { in_keystate[port] |= (1 << DKEY_CROSS); } - //The 1 is hardcoded instead of port to prevent the overlay mouse button libretro crash bug - int gunx = input_state_cb(1, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X); - int guny = input_state_cb(1, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y); + int gunx = input_state_cb(port, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X); + int guny = input_state_cb(port, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y); //Mouse range is -32767 -> 32767 //1% is about 655 //Use the left analog stick field to store the absolute coordinates - in_analog_left[0][0] = (gunx * GunconAdjustRatioX) + (GunconAdjustX * 655); - in_analog_left[0][1] = (guny * GunconAdjustRatioY) + (GunconAdjustY * 655); + in_analog_left[port][0] = (gunx * GunconAdjustRatioX) + (GunconAdjustX * 655); + in_analog_left[port][1] = (guny * GunconAdjustRatioY) + (GunconAdjustY * 655); } static void update_input_negcon(int port, int ret)