X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Flibretro.c;h=89946f3a8e27609f3ddf509f89ae7011022954e7;hb=6673bd839633242694a1f759b02b61d0adc78b12;hp=bd7dc43899cb62bdf59179ed34136c9fe624654e;hpb=f542ede8394df9acd50c46e8c9c5483192f4c3d0;p=pcsx_rearmed.git diff --git a/frontend/libretro.c b/frontend/libretro.c index bd7dc438..89946f3a 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -574,7 +574,7 @@ static int controller_port_variable(unsigned port, struct retro_variable *var) break; } - return environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, var) || var->value; + return environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, var) && var->value; } static void update_controller_port_variable(unsigned port) @@ -643,7 +643,7 @@ static void update_multitap() var.value = NULL; var.key = "pcsx_rearmed_multitap1"; auto_case = 0; - if (environ_cb && (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)) + if (environ_cb && (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)) { if (strcmp(var.value, "enabled") == 0) multitap1 = 1; @@ -666,7 +666,7 @@ static void update_multitap() var.value = NULL; var.key = "pcsx_rearmed_multitap2"; auto_case = 0; - if (environ_cb && (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)) + if (environ_cb && (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)) { if (strcmp(var.value, "enabled") == 0) multitap2 = 1; @@ -1227,6 +1227,7 @@ static void set_retro_memmap(void) environ_cb(RETRO_ENVIRONMENT_SET_MEMORY_MAPS, &retromap); } +static void update_variables(bool in_flight); bool retro_load_game(const struct retro_game_info *info) { size_t i; @@ -1422,6 +1423,8 @@ bool retro_load_game(const struct retro_game_info *info) return false; } + update_variables(false); + if (plugins_opened) { ClosePlugins(); plugins_opened = 0; @@ -1612,6 +1615,14 @@ static const unsigned short retro_psx_map[] = { }; #define RETRO_PSX_MAP_LEN (sizeof(retro_psx_map) / sizeof(retro_psx_map[0])) +//Percentage distance of screen to adjust +static int GunconAdjustX = 0; +static int GunconAdjustY = 0; + +//Used when out by a percentage +static float GunconAdjustRatioX = 1; +static float GunconAdjustRatioY = 1; + static void update_variables(bool in_flight) { struct retro_variable var; @@ -1622,12 +1633,12 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_frameskip"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) pl_rearmed_cbs.frameskip = atoi(var.value); var.value = NULL; var.key = "pcsx_rearmed_region"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { Config.PsxAuto = 0; if (strcmp(var.value, "auto") == 0) @@ -1646,7 +1657,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_negcon_deadzone"; negcon_deadzone = 0; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { negcon_deadzone = (int)(atoi(var.value) * 0.01f * NEGCON_RANGE); } @@ -1654,7 +1665,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_negcon_response"; negcon_linearity = 1; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "quadratic") == 0){ negcon_linearity = 2; @@ -1666,7 +1677,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_analog_axis_modifier"; axis_bounds_modifier = true; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "square") == 0) { axis_bounds_modifier = true; @@ -1678,7 +1689,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_vibration"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) in_enable_vibration = 0; @@ -1689,7 +1700,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_dithering"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) { pl_rearmed_cbs.gpu_peops.iUseDither = 0; @@ -1710,10 +1721,10 @@ static void update_variables(bool in_flight) } #ifdef GPU_NEON - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_neon_interlace_enable"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_neon.allow_interlace = 0; @@ -1724,7 +1735,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_neon_enhancement_enable"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_neon.enhancement_enable = 0; @@ -1735,7 +1746,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_neon_enhancement_no_main"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_neon.enhancement_no_main = 0; @@ -1744,10 +1755,10 @@ static void update_variables(bool in_flight) } #endif - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_duping_enable"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) duping_enable = false; @@ -1755,10 +1766,10 @@ static void update_variables(bool in_flight) duping_enable = true; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_display_internal_fps"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) display_internal_fps = false; @@ -1766,20 +1777,25 @@ static void update_variables(bool in_flight) display_internal_fps = true; } -#ifndef DRC_DISABLE +#if defined(LIGHTREC) || defined(NEW_DYNAREC) 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) { - R3000Acpu *prev_cpu = psxCpu; + R3000Acpu *prev_cpu = psxCpu; +#if defined(LIGHTREC) + bool can_use_dynarec = found_bios; +#else + bool can_use_dynarec = 1; +#endif #ifdef _3DS if(!__ctr_svchax) Config.Cpu = CPU_INTERPRETER; else #endif - if (strcmp(var.value, "disabled") == 0) + if (strcmp(var.value, "disabled") == 0 || !can_use_dynarec) Config.Cpu = CPU_INTERPRETER; else if (strcmp(var.value, "enabled") == 0) Config.Cpu = CPU_DYNAREC; @@ -1791,12 +1807,12 @@ static void update_variables(bool in_flight) psxCpu->Reset(); // not really a reset.. } } -#endif +#endif /* LIGHTREC || NEW_DYNAREC */ - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_spu_reverb"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) spu_config.iUseReverb = false; @@ -1804,10 +1820,10 @@ static void update_variables(bool in_flight) spu_config.iUseReverb = true; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_spu_interpolation"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "simple") == 0) spu_config.iUseInterpolation = 1; @@ -1819,10 +1835,10 @@ static void update_variables(bool in_flight) spu_config.iUseInterpolation = 0; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_pe2_fix"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) Config.RCntFix = 0; @@ -1830,10 +1846,10 @@ static void update_variables(bool in_flight) Config.RCntFix = 1; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_idiablofix"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) spu_config.idiablofix = 0; @@ -1841,10 +1857,10 @@ static void update_variables(bool in_flight) spu_config.idiablofix = 1; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_inuyasha_fix"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) Config.VSyncWA = 0; @@ -1855,7 +1871,7 @@ static void update_variables(bool in_flight) #ifndef _WIN32 var.value = NULL; var.key = "pcsx_rearmed_async_cd"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "async") == 0) Config.AsyncCD = 1; @@ -1866,7 +1882,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_noxadecoding"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) Config.Xa = 1; @@ -1876,7 +1892,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_nocdaudio"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) Config.Cdda = 1; @@ -1886,7 +1902,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_spuirq"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) Config.SpuIrq = 0; @@ -1894,10 +1910,10 @@ static void update_variables(bool in_flight) Config.SpuIrq = 1; } -#ifndef DRC_DISABLE +#ifdef NEW_DYNAREC var.value = NULL; var.key = "pcsx_rearmed_nosmccheck"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) new_dynarec_hacks |= NDHACK_NO_SMC_CHECK; @@ -1907,7 +1923,7 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_gteregsunneeded"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) new_dynarec_hacks |= NDHACK_GTE_UNNEEDED; @@ -1917,17 +1933,17 @@ static void update_variables(bool in_flight) var.value = NULL; var.key = "pcsx_rearmed_nogteflags"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) new_dynarec_hacks |= NDHACK_GTE_NO_FLAGS; else new_dynarec_hacks &= ~NDHACK_GTE_NO_FLAGS; } -#endif +#endif /* NEW_DYNAREC */ #ifdef GPU_PEOPS - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_odd_even_bit"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1936,7 +1952,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_ODD_EVEN_BIT; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_expand_screen_width"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1945,7 +1961,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_EXPAND_SCREEN_WIDTH; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_ignore_brightness"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1954,7 +1970,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_IGNORE_BRIGHTNESS; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_disable_coord_check"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1963,7 +1979,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_DISABLE_COORD_CHECK; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_lazy_screen_update"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1972,7 +1988,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_LAZY_SCREEN_UPDATE; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_old_frame_skip"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1981,7 +1997,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_OLD_FRAME_SKIP; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_repeated_triangles"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1990,7 +2006,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_REPEATED_TRIANGLES; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_quads_with_triangles"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -1999,7 +2015,7 @@ static void update_variables(bool in_flight) gpu_peops_fix |= GPU_PEOPS_QUADS_WITH_TRIANGLES; } - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_gpu_peops_fake_busy_state"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) @@ -2056,7 +2072,7 @@ static void update_variables(bool in_flight) var.key = "pcsx_rearmed_gpu_unai_ilace_force"; var.value = NULL; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_unai.ilace_force = 0; @@ -2067,7 +2083,7 @@ static void update_variables(bool in_flight) var.key = "pcsx_rearmed_gpu_unai_pixel_skip"; var.value = NULL; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_unai.pixel_skip = 0; @@ -2078,7 +2094,7 @@ static void update_variables(bool in_flight) var.key = "pcsx_rearmed_gpu_unai_lighting"; var.value = NULL; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_unai.lighting = 0; @@ -2089,7 +2105,7 @@ static void update_variables(bool in_flight) var.key = "pcsx_rearmed_gpu_unai_fast_lighting"; var.value = NULL; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_unai.fast_lighting = 0; @@ -2100,7 +2116,7 @@ static void update_variables(bool in_flight) var.key = "pcsx_rearmed_gpu_unai_blending"; var.value = NULL; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "disabled") == 0) pl_rearmed_cbs.gpu_unai.blending = 0; @@ -2142,6 +2158,41 @@ static void update_variables(bool in_flight) } #endif // GPU_UNAI + //This adjustment process gives the user the ability to manually align the mouse up better + //with where the shots are in the emulator. + + var.value = NULL; + var.key = "pcsx_rearmed_gunconadjustx"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + GunconAdjustX = atoi(var.value); + } + + var.value = NULL; + var.key = "pcsx_rearmed_gunconadjusty"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + GunconAdjustY = atoi(var.value); + } + + var.value = NULL; + var.key = "pcsx_rearmed_gunconadjustratiox"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + GunconAdjustRatioX = atof(var.value); + } + + var.value = NULL; + var.key = "pcsx_rearmed_gunconadjustratioy"; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + GunconAdjustRatioY = atof(var.value); + } + if (in_flight) { // inform core things about possible config changes plugin_call_rearmed_cbs(); @@ -2159,9 +2210,9 @@ static void update_variables(bool in_flight) //bootlogo display hack if (found_bios) { - var.value = "NULL"; + var.value = NULL; var.key = "pcsx_rearmed_show_bios_bootlogo"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { Config.SlowBoot = 0; rebootemu = 0; @@ -2173,10 +2224,10 @@ static void update_variables(bool in_flight) } } -#if defined(LIGHTREC) || defined(NEW_DYNAREC) - var.value = "NULL"; +#ifdef NEW_DYNAREC + var.value = NULL; var.key = "pcsx_rearmed_psxclock"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { int psxclock = atoi(var.value); cycle_multiplier = 10000 / psxclock; @@ -2337,55 +2388,11 @@ void retro_run(void) 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); - //This adjustment process gives the user the ability to manually align the mouse up better - //with where the shots are in the emulator. - - //Percentage distance of screen to adjust - int GunconAdjustX = 0; - int GunconAdjustY = 0; - - //Used when out by a percentage - float GunconAdjustRatioX = 1; - float GunconAdjustRatioY = 1; - - struct retro_variable var; - var.value = NULL; - var.key = "pcsx_rearmed_gunconadjustx"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - GunconAdjustX = atoi(var.value); - } - - var.value = NULL; - var.key = "pcsx_rearmed_gunconadjusty"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - GunconAdjustY = atoi(var.value); - } - - - var.value = NULL; - var.key = "pcsx_rearmed_gunconadjustratiox"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - GunconAdjustRatioX = atof(var.value); - } - - - var.value = NULL; - var.key = "pcsx_rearmed_gunconadjustratioy"; - if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value) - { - GunconAdjustRatioY = atof(var.value); - } - //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); - - } if (in_type[i] == PSE_PAD_TYPE_NEGCON) { @@ -2757,13 +2764,15 @@ void retro_init(void) if (environ_cb(RETRO_ENVIRONMENT_GET_INPUT_BITMASKS, NULL)) libretro_supports_bitmasks = true; - update_variables(false); check_system_specs(); } void retro_deinit(void) { - ClosePlugins(); + if (plugins_opened) { + ClosePlugins(); + plugins_opened = 0; + } SysClose(); #ifdef _3DS linearFree(vout_buf);