diff options
Diffstat (limited to 'frontend')
-rwxr-xr-x | frontend/320240/caanoo.gpe | 23 | ||||
-rw-r--r-- | frontend/320240/haptic_s.cfg | 3 | ||||
-rw-r--r-- | frontend/320240/haptic_w.cfg | 3 | ||||
-rw-r--r-- | frontend/320240/pcsx26.png | bin | 4763 -> 0 bytes | |||
-rw-r--r-- | frontend/320240/pcsx_rearmed.ini | 6 | ||||
-rw-r--r-- | frontend/320240/pcsxb.png | bin | 24784 -> 0 bytes | |||
-rw-r--r-- | frontend/320240/pollux_set.c | 389 | ||||
-rw-r--r-- | frontend/320240/skin/background.png | bin | 36069 -> 0 bytes | |||
-rw-r--r-- | frontend/320240/skin/font.png | bin | 3185 -> 0 bytes | |||
-rw-r--r-- | frontend/320240/skin/readme.txt | 8 | ||||
-rw-r--r-- | frontend/320240/skin/selector.png | bin | 261 -> 0 bytes | |||
-rw-r--r-- | frontend/320240/skin/skin.txt | 4 | ||||
-rw-r--r-- | frontend/320240/ui_gp2x.h | 15 | ||||
-rw-r--r-- | frontend/libretro.c | 82 | ||||
-rw-r--r-- | frontend/libretro_core_options.h | 922 | ||||
-rw-r--r-- | frontend/libretro_core_options_intl.h | 568 | ||||
-rw-r--r-- | frontend/main.c | 4 |
17 files changed, 832 insertions, 1195 deletions
diff --git a/frontend/320240/caanoo.gpe b/frontend/320240/caanoo.gpe deleted file mode 100755 index 9d6154a..0000000 --- a/frontend/320240/caanoo.gpe +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# Wiz's timings are already good, apply this for Caanoo -if [ -e /dev/accel ]; then - ./pollux_set "ram_timings=3,9,4,1,1,1,1" -fi - -# the sync mount causes problems when writing saves, -# probably due to many write calls, so have to get rid of it -if grep mmcblk /proc/mounts | grep -q '\<sync\>'; then - oldmount=`grep mmcblk /proc/mounts | grep '\<sync\>' | awk '{print $4}'` - mount /dev/mmcblk0p1 /mnt/sd/ -o remount,dirsync,noatime -fi - -./pcsx "$@" -sync - -if [ -n "$oldmount" ]; then - mount /dev/mmcblk0p1 /mnt/sd/ -o remount,$oldmount -fi - -cd /usr/gp2x -exec ./gp2xmenu diff --git a/frontend/320240/haptic_s.cfg b/frontend/320240/haptic_s.cfg deleted file mode 100644 index 624056d..0000000 --- a/frontend/320240/haptic_s.cfg +++ /dev/null @@ -1,3 +0,0 @@ -0 126 -100 -126 -115 0 diff --git a/frontend/320240/haptic_w.cfg b/frontend/320240/haptic_w.cfg deleted file mode 100644 index 3585a71..0000000 --- a/frontend/320240/haptic_w.cfg +++ /dev/null @@ -1,3 +0,0 @@ -0 54 -100 -126 -105 0 diff --git a/frontend/320240/pcsx26.png b/frontend/320240/pcsx26.png Binary files differdeleted file mode 100644 index ed220a0..0000000 --- a/frontend/320240/pcsx26.png +++ /dev/null diff --git a/frontend/320240/pcsx_rearmed.ini b/frontend/320240/pcsx_rearmed.ini deleted file mode 100644 index b15497f..0000000 --- a/frontend/320240/pcsx_rearmed.ini +++ /dev/null @@ -1,6 +0,0 @@ -[info] -name="PCSX ReARMed" -icon="/pcsx_rearmed/pcsx26.png" -path="/pcsx_rearmed/pcsx.gpe" -title="/pcsx_rearmed/pcsxb.png" -group="GAMES" diff --git a/frontend/320240/pcsxb.png b/frontend/320240/pcsxb.png Binary files differdeleted file mode 100644 index ff5a48a..0000000 --- a/frontend/320240/pcsxb.png +++ /dev/null diff --git a/frontend/320240/pollux_set.c b/frontend/320240/pollux_set.c deleted file mode 100644 index f49e777..0000000 --- a/frontend/320240/pollux_set.c +++ /dev/null @@ -1,389 +0,0 @@ -/* - * quick tool to set various timings for Wiz - * - * Copyright (c) Gražvydas "notaz" Ignotas, 2009 - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the organization nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * HTOTAL: X VTOTAL: 341 - * HSWIDTH: 1 VSWIDTH: 0 - * HASTART: 37 VASTART: 17 - * HAEND: 277 VAEND: 337 - * - * 120Hz - * pcd 8, 447: + 594us - * pcd 9, 397: + 36us - * pcd 10, 357: - 523us - * pcd 11, 325: +1153us - * - * 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9' - * 'ram_timings=2,9,4,1,1,1,1' - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -//#include "pollux_set.h" -#define BINARY - -/* parse stuff */ -static int parse_lcd_timings(const char *str, void *data) -{ - int *lcd_timings = data; - const char *p = str; - int ret, c; - ret = sscanf(str, "%d,%d,%d,%d,%d,%d,%d,%d", - &lcd_timings[0], &lcd_timings[1], &lcd_timings[2], &lcd_timings[3], - &lcd_timings[4], &lcd_timings[5], &lcd_timings[6], &lcd_timings[7]); - if (ret != 8) - return -1; - /* skip seven commas */ - for (c = 0; c < 7 && *p != 0; p++) - if (*p == ',') - c++; - if (c != 7) - return -1; - /* skip last number */ - while ('0' <= *p && *p <= '9') - p++; - - return p - str; -} - -static int parse_ram_timings(const char *str, void *data) -{ - int *ram_timings = data; - const char *p = str; - int ret, c; - float cas; - - ret = sscanf(p, "%f,%d,%d,%d,%d,%d,%d", - &cas, &ram_timings[1], &ram_timings[2], &ram_timings[3], - &ram_timings[4], &ram_timings[5], &ram_timings[6]); - if (ret != 7) - return -1; - if (cas == 2) - ram_timings[0] = 1; - else if (cas == 2.5) - ram_timings[0] = 2; - else if (cas == 3) - ram_timings[0] = 3; - else - return -1; - for (c = 0; c < 6 && *p != 0; p++) - if (*p == ',') - c++; - if (c != 6) - return -1; - while ('0' <= *p && *p <= '9') - p++; - - return p - str; -} - -static int parse_decimal(const char *str, void *data) -{ - char *ep; - - *(int *)data = strtoul(str, &ep, 10); - if (ep == str) - return -1; - - return ep - str; -} - -/* validate and apply stuff */ -static int apply_lcd_timings(volatile unsigned short *memregs, void *data) -{ - int *lcd_timings = data; - int i; - - for (i = 0; i < 8; i++) { - if (lcd_timings[i] & ~0xffff) { - fprintf(stderr, "pollux_set: invalid lcd timing %d: %d\n", i, lcd_timings[i]); - return -1; - } - } - - for (i = 0; i < 8; i++) - memregs[(0x307c>>1) + i] = lcd_timings[i]; - - return 0; -} - -static const struct { - signed char adj; /* how to adjust value passed by user */ - signed short min; /* range of */ - signed short max; /* allowed values (inclusive) */ -} -ram_ranges[] = { - { 0, 1, 3 }, /* cas (cl) */ - { -2, 0, 15 }, /* trc */ - { -2, 0, 15 }, /* tras */ - { 0, 0, 15 }, /* twr */ - { 0, 0, 15 }, /* tmrd */ - { 0, 0, 15 }, /* trp */ - { 0, 0, 15 }, /* trcd */ -}; - -static int apply_ram_timings(volatile unsigned short *memregs, void *data) -{ - int *ram_timings = data; - int i, val; - - for (i = 0; i < 7; i++) - { - ram_timings[i] += ram_ranges[i].adj; - if (ram_timings[i] < ram_ranges[i].min || ram_timings[i] > ram_ranges[i].max) { - fprintf(stderr, "pollux_set: invalid RAM timing %d\n", i); - return -1; - } - } - - val = memregs[0x14802>>1] & 0x0f00; - val |= (ram_timings[4] << 12) | (ram_timings[5] << 4) | ram_timings[6]; - memregs[0x14802>>1] = val; - - val = memregs[0x14804>>1] & 0x4000; - val |= (ram_timings[0] << 12) | (ram_timings[1] << 8) | - (ram_timings[2] << 4) | ram_timings[3]; - val |= 0x8000; - memregs[0x14804>>1] = val; - - for (i = 0; i < 0x100000 && (memregs[0x14804>>1] & 0x8000); i++) - ; - - return 0; -} - -static int apply_dpc_clkdiv0(volatile unsigned short *memregs, void *data) -{ - int pcd = *(int *)data; - int tmp; - - if ((pcd - 1) & ~0x3f) { - fprintf(stderr, "pollux_set: invalid lcd clkdiv0: %d\n", pcd); - return -1; - } - - pcd = (pcd - 1) & 0x3f; - tmp = memregs[0x31c4>>1]; - memregs[0x31c4>>1] = (tmp & ~0x3f0) | (pcd << 4); - - return 0; -} - -static int apply_cpuclk(volatile unsigned short *memregs, void *data) -{ - volatile unsigned int *memregl = (volatile void *)memregs; - int mhz = *(int *)data; - int adiv, mdiv, pdiv, sdiv = 0; - int i, vf000, vf004; - - // m = MDIV, p = PDIV, s = SDIV - #define SYS_CLK_FREQ 27 - pdiv = 9; - mdiv = (mhz * pdiv) / SYS_CLK_FREQ; - if (mdiv & ~0x3ff) - return -1; - vf004 = (pdiv<<18) | (mdiv<<8) | sdiv; - - // attempt to keep AHB the divider close to 250, but not higher - for (adiv = 1; mhz / adiv > 250; adiv++) - ; - - vf000 = memregl[0xf000>>2]; - vf000 = (vf000 & ~0x3c0) | ((adiv - 1) << 6); - memregl[0xf000>>2] = vf000; - memregl[0xf004>>2] = vf004; - memregl[0xf07c>>2] |= 0x8000; - for (i = 0; (memregl[0xf07c>>2] & 0x8000) && i < 0x100000; i++) - ; - - printf("clock set to %dMHz, AHB set to %dMHz\n", mhz, mhz / adiv); - return 0; -} - -static int lcd_timings[8]; -static int ram_timings[7]; -static int dpc_clkdiv0; -static int cpuclk; - -static const char lcd_t_help[] = "htotal,hswidth,hastart,haend,vtotal,vswidth,vastart,vaend"; -static const char ram_t_help[] = "CAS,tRC,tRAS,tWR,tMRD,tRP,tRCD"; - -static const struct { - const char *name; - const char *help; - int (*parse)(const char *str, void *data); - int (*apply)(volatile unsigned short *memregs, void *data); - void *data; -} -all_params[] = { - { "lcd_timings", lcd_t_help, parse_lcd_timings, apply_lcd_timings, lcd_timings }, - { "ram_timings", ram_t_help, parse_ram_timings, apply_ram_timings, ram_timings }, - { "dpc_clkdiv0", "divider", parse_decimal, apply_dpc_clkdiv0, &dpc_clkdiv0 }, - { "clkdiv0", "divider", parse_decimal, apply_dpc_clkdiv0, &dpc_clkdiv0 }, /* alias */ - { "cpuclk", "MHZ", parse_decimal, apply_cpuclk, &cpuclk }, -}; -#define ALL_PARAM_COUNT (sizeof(all_params) / sizeof(all_params[0])) - -/* - * set timings based on preformated string - * returns 0 on success. - */ -int pollux_set(volatile unsigned short *memregs, const char *str) -{ - int parsed_params[ALL_PARAM_COUNT]; - int applied_params[ALL_PARAM_COUNT]; - int applied_something = 0; - const char *p, *po; - int i, ret; - - if (str == NULL) - return -1; - - memset(parsed_params, 0, sizeof(parsed_params)); - memset(applied_params, 0, sizeof(applied_params)); - - p = str; - while (1) - { -again: - while (*p == ';' || *p == ' ') - p++; - if (*p == 0) - break; - - for (i = 0; i < ALL_PARAM_COUNT; i++) - { - int param_len = strlen(all_params[i].name); - if (strncmp(p, all_params[i].name, param_len) == 0 && p[param_len] == '=') - { - p += param_len + 1; - ret = all_params[i].parse(p, all_params[i].data); - if (ret < 0) { - fprintf(stderr, "pollux_set parser: error at %-10s\n", p); - fprintf(stderr, " valid format is: <%s>\n", all_params[i].help); - return -1; - } - parsed_params[i] = 1; - p += ret; - goto again; - } - } - - /* Unknown param. Attempt to be forward compatible and ignore it. */ - for (po = p; *p != 0 && *p != ';'; p++) - ; - - fprintf(stderr, "unhandled param: "); - fwrite(po, 1, p - po, stderr); - fprintf(stderr, "\n"); - } - - /* validate and apply */ - for (i = 0; i < ALL_PARAM_COUNT; i++) - { - if (!parsed_params[i]) - continue; - - ret = all_params[i].apply(memregs, all_params[i].data); - if (ret < 0) { - fprintf(stderr, "pollux_set: failed to apply %s (bad value?)\n", - all_params[i].name); - continue; - } - - applied_something = 1; - applied_params[i] = 1; - } - - if (applied_something) - { - int c; - printf("applied: "); - for (i = c = 0; i < ALL_PARAM_COUNT; i++) - { - if (!applied_params[i]) - continue; - if (c != 0) - printf(", "); - printf("%s", all_params[i].name); - c++; - } - printf("\n"); - } - - return 0; -} - -#ifdef BINARY -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sys/mman.h> -#include <unistd.h> - -static void usage(const char *binary) -{ - int i; - printf("usage:\n%s <set_str[;set_str[;...]]>\n" - "set_str:\n", binary); - for (i = 0; i < ALL_PARAM_COUNT; i++) - printf(" %s=<%s>\n", all_params[i].name, all_params[i].help); -} - -int main(int argc, char *argv[]) -{ - volatile unsigned short *memregs; - int ret, memdev; - - if (argc != 2) { - usage(argv[0]); - return 1; - } - - memdev = open("/dev/mem", O_RDWR); - if (memdev == -1) - { - perror("open(/dev/mem) failed"); - return 1; - } - - memregs = mmap(0, 0x20000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0xc0000000); - if (memregs == MAP_FAILED) - { - perror("mmap(memregs) failed"); - close(memdev); - return 1; - } - - ret = pollux_set(memregs, argv[1]); - - munmap((void *)memregs, 0x20000); - close(memdev); - - return ret; -} -#endif diff --git a/frontend/320240/skin/background.png b/frontend/320240/skin/background.png Binary files differdeleted file mode 100644 index 0efdd18..0000000 --- a/frontend/320240/skin/background.png +++ /dev/null diff --git a/frontend/320240/skin/font.png b/frontend/320240/skin/font.png Binary files differdeleted file mode 100644 index c526a08..0000000 --- a/frontend/320240/skin/font.png +++ /dev/null diff --git a/frontend/320240/skin/readme.txt b/frontend/320240/skin/readme.txt deleted file mode 100644 index dd83963..0000000 --- a/frontend/320240/skin/readme.txt +++ /dev/null @@ -1,8 +0,0 @@ -The skin images can be customized, but there are several limitations:
-
-background.png - must be 320x240 image with 24bit RGB colors.
-font.png - must be 128x160 8bit grayscale image.
-selector.png - must be 8x10 8bit grayscale image.
-
-Font and selector colors can be changed by editing skin.txt.
-
diff --git a/frontend/320240/skin/selector.png b/frontend/320240/skin/selector.png Binary files differdeleted file mode 100644 index 5062cc2..0000000 --- a/frontend/320240/skin/selector.png +++ /dev/null diff --git a/frontend/320240/skin/skin.txt b/frontend/320240/skin/skin.txt deleted file mode 100644 index 1d6979f..0000000 --- a/frontend/320240/skin/skin.txt +++ /dev/null @@ -1,4 +0,0 @@ -// html-style hex color codes, ex. ff0000 is red, 0000ff is blue, etc.
-text_color=ffffc0
-selection_color=808010
-
diff --git a/frontend/320240/ui_gp2x.h b/frontend/320240/ui_gp2x.h deleted file mode 100644 index a9c4413..0000000 --- a/frontend/320240/ui_gp2x.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef UI_FEATURES_H -#define UI_FEATURES_H - -#define MENU_BIOS_PATH "pcsx_rearmed/bios/" -#define MENU_SHOW_VARSCALER 0 -#define MENU_SHOW_VOUTMODE 0 -#define MENU_SHOW_SCALER2 1 -#define MENU_SHOW_NUBS_BTNS 0 -#define MENU_SHOW_VIBRATION 1 -#define MENU_SHOW_DEADZONE 1 -#define MENU_SHOW_MINIMIZE 0 -#define MENU_SHOW_FULLSCREEN 0 -#define MENU_SHOW_VOLUME 1 - -#endif // UI_FEATURES_H diff --git a/frontend/libretro.c b/frontend/libretro.c index 919fabb..785213b 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -135,6 +135,16 @@ static int snd_init(void){return 0;} static void snd_finish(void){} static int snd_busy(void){return 0;} +#define GPU_PEOPS_ODD_EVEN_BIT (1 << 0) +#define GPU_PEOPS_EXPAND_SCREEN_WIDTH (1 << 1) +#define GPU_PEOPS_IGNORE_BRIGHTNESS (1 << 2) +#define GPU_PEOPS_DISABLE_COORD_CHECK (1 << 3) +#define GPU_PEOPS_LAZY_SCREEN_UPDATE (1 << 6) +#define GPU_PEOPS_OLD_FRAME_SKIP (1 << 7) +#define GPU_PEOPS_REPEATED_TRIANGLES (1 << 8) +#define GPU_PEOPS_QUADS_WITH_TRIANGLES (1 << 9) +#define GPU_PEOPS_FAKE_BUSY_STATE (1 << 10) + static void init_memcard(char *mcd_data) { unsigned off = 0; @@ -963,11 +973,11 @@ static struct retro_disk_control_callback disk_control = { #define PATH_MAX 4096 #endif -static char base_dir[PATH_MAX]; +static char base_dir[1024]; static bool read_m3u(const char *file) { - char line[PATH_MAX]; + char line[1024]; char name[PATH_MAX]; FILE *f = fopen(file, "r"); if (!f) @@ -1324,7 +1334,7 @@ size_t retro_get_memory_size(unsigned id) if (id == RETRO_MEMORY_SAVE_RAM) return MCD_SIZE; else if (id == RETRO_MEMORY_SYSTEM_RAM) - return 0x210000; + return 0x200000; else return 0; } @@ -1636,91 +1646,91 @@ static void update_variables(bool in_flight) #ifdef GPU_PEOPS var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_0"; + var.key = "pcsx_rearmed_gpu_peops_odd_even_bit"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 0); + gpu_peops_fix |= GPU_PEOPS_ODD_EVEN_BIT; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_1"; + var.key = "pcsx_rearmed_gpu_peops_expand_screen_width"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 1); + gpu_peops_fix |= GPU_PEOPS_EXPAND_SCREEN_WIDTH; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_2"; + var.key = "pcsx_rearmed_gpu_peops_ignore_brightness"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 2); + gpu_peops_fix |= GPU_PEOPS_IGNORE_BRIGHTNESS; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_3"; + var.key = "pcsx_rearmed_gpu_peops_disable_coord_check"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 3); + gpu_peops_fix |= GPU_PEOPS_DISABLE_COORD_CHECK; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_6"; + var.key = "pcsx_rearmed_gpu_peops_lazy_screen_update"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 6); + gpu_peops_fix |= GPU_PEOPS_LAZY_SCREEN_UPDATE; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_7"; + var.key = "pcsx_rearmed_gpu_peops_old_frame_skip"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 7); + gpu_peops_fix |= GPU_PEOPS_OLD_FRAME_SKIP; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_8"; + var.key = "pcsx_rearmed_gpu_peops_repeated_triangles"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 8); + gpu_peops_fix |= GPU_PEOPS_REPEATED_TRIANGLES; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_9"; + var.key = "pcsx_rearmed_gpu_peops_quads_with_triangles"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 9); + gpu_peops_fix |= GPU_PEOPS_QUADS_WITH_TRIANGLES; } var.value = "NULL"; - var.key = "pcsx_rearmed_gpu_peops_fix_10"; + var.key = "pcsx_rearmed_gpu_peops_fake_busy_state"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { if (strcmp(var.value, "enabled") == 0) - gpu_peops_fix |= (1 << 10); + gpu_peops_fix |= GPU_PEOPS_FAKE_BUSY_STATE; } if (pl_rearmed_cbs.gpu_peops.dwActFixes != gpu_peops_fix) pl_rearmed_cbs.gpu_peops.dwActFixes = gpu_peops_fix; - /* Show/hide core options */ + /* Show/hide core options */ var.key = "pcsx_rearmed_show_gpu_peops_settings"; var.value = NULL; @@ -1737,16 +1747,16 @@ static void update_variables(bool in_flight) { unsigned i; struct retro_core_option_display option_display; - char gpu_peops_option[9][32] = { - "pcsx_rearmed_gpu_peops_fix_0", - "pcsx_rearmed_gpu_peops_fix_1", - "pcsx_rearmed_gpu_peops_fix_2", - "pcsx_rearmed_gpu_peops_fix_3", - "pcsx_rearmed_gpu_peops_fix_6", - "pcsx_rearmed_gpu_peops_fix_7", - "pcsx_rearmed_gpu_peops_fix_8", - "pcsx_rearmed_gpu_peops_fix_9", - "pcsx_rearmed_gpu_peops_fix_10", + char gpu_peops_option[9][45] = { + "pcsx_rearmed_gpu_peops_odd_even_bit", + "pcsx_rearmed_gpu_peops_expand_screen_width", + "pcsx_rearmed_gpu_peops_ignore_brightness", + "pcsx_rearmed_gpu_peops_disable_coord_check", + "pcsx_rearmed_gpu_peops_lazy_screen_update", + "pcsx_rearmed_gpu_peops_old_frame_skip", + "pcsx_rearmed_gpu_peops_repeated_triangles", + "pcsx_rearmed_gpu_peops_quads_with_triangles", + "pcsx_rearmed_gpu_peops_fake_busy_state", }; option_display.visible = show_advanced_gpu_peops_settings; @@ -2161,7 +2171,7 @@ static bool find_any_bios(const char *dirpath, char *path, size_t path_size) return false; while ((ent = readdir(dir))) { - if (strncasecmp(ent->d_name, "scph", 4) != 0) + if ((strncasecmp(ent->d_name, "scph", 4) != 0) && (strncasecmp(ent->d_name, "psx", 3) != 0)) continue; snprintf(path, path_size, "%s%c%s", dirpath, SLASH, ent->d_name); @@ -2223,10 +2233,11 @@ static int init_memcards(void) static void loadPSXBios(void) { const char *dir; - char path[256]; + char path[PATH_MAX]; unsigned useHLE = 0; const char *bios[] = { + "PSXONPSP660", "psxonpsp660", "SCPH101", "scph101", "SCPH5501", "scph5501", "SCPH7001", "scph7001", @@ -2340,7 +2351,7 @@ void retro_init(void) cycle_multiplier = 200; #endif pl_rearmed_cbs.gpu_peops.iUseDither = 1; - pl_rearmed_cbs.gpu_peops.dwActFixes = 1 << 7; + pl_rearmed_cbs.gpu_peops.dwActFixes = GPU_PEOPS_OLD_FRAME_SKIP; spu_config.iUseFixedUpdates = 1; SaveFuncs.open = save_open; @@ -2358,6 +2369,7 @@ void retro_init(void) void retro_deinit(void) { + ClosePlugins(); SysClose(); #ifdef _3DS linearFree(vout_buf); diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h index bfb21a5..1ecc9a9 100644 --- a/frontend/libretro_core_options.h +++ b/frontend/libretro_core_options.h @@ -7,6 +7,28 @@ #include <libretro.h> #include <retro_inline.h> +#ifndef HAVE_NO_LANGEXTRA +#include "libretro_core_options_intl.h" +#endif + +/* + ******************************** + * VERSION: 1.3 + ******************************** + * + * - 1.3: Move translations to libretro_core_options_intl.h + * - libretro_core_options_intl.h includes BOM and utf-8 + * fix for MSVC 2010-2013 + * - Added HAVE_NO_LANGEXTRA flag to disable translations + * on platforms/compilers without BOM support + * - 1.2: Use core options v1 interface when + * RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION is >= 1 + * (previously required RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION == 1) + * - 1.1: Support generation of core options v0 retro_core_option_value + * arrays containing options with a single value + * - 1.0: First commit +*/ + #ifdef __cplusplus extern "C" { #endif @@ -27,14 +49,6 @@ extern "C" { * frontend language definition */ -#ifdef HAVE_PRE_ARMV7 -#define PSX_CLOCK_DEFAULT "50" -#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 50" -#else -#define PSX_CLOCK_DEFAULT "57" -#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 57" -#endif - struct retro_core_option_definition option_defs_us[] = { { "pcsx_rearmed_frameskip", @@ -45,7 +59,7 @@ struct retro_core_option_definition option_defs_us[] = { { "1", NULL }, { "2", NULL }, { "3", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "0", }, @@ -55,8 +69,8 @@ struct retro_core_option_definition option_defs_us[] = { "Allows you to use real bios file (if available) or emulated bios (HLE). Its recommended to use official bios file for better compatibility.", { { "auto", "auto" }, - { "HLE", "hle" }, - { NULL, NULL}, + { "HLE", "hle" }, + { NULL, NULL }, }, "auto", }, @@ -67,8 +81,8 @@ struct retro_core_option_definition option_defs_us[] = { { { "auto", "auto" }, { "NTSC", "ntsc" }, - { "PAL", "pal" }, - { NULL, NULL}, + { "PAL", "pal" }, + { NULL, NULL }, }, "auto", }, @@ -77,23 +91,23 @@ struct retro_core_option_definition option_defs_us[] = { "Enable Second Memory Card (Shared)", "Enabled the memory card slot 2. This memory card is shared amongst all games.", { - { "disable", NULL }, + { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, - "disable", + "disabled", }, { "pcsx_rearmed_pad1type", "Pad 1 Type", "Pad type for player 1", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "standard", }, @@ -102,12 +116,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 2 Type", "Pad type for player 2", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "standard", }, @@ -116,12 +130,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 3 Type", "Pad type for player 3", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -130,12 +144,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 4 Type", "Pad type for player 4", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -144,12 +158,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 5 Type", "Pad type for player 5", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -157,12 +171,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 6 Type", "Pad type for player 6", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -170,12 +184,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 7 Type", "Pad type for player 7", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -183,12 +197,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 8 Type", "Pad type for player 8", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -197,10 +211,10 @@ struct retro_core_option_definition option_defs_us[] = { "Multitap 1", "Enables/Disables multitap on port 1, allowing upto 5 players in games that permit it.", { - { "auto", NULL }, + { "auto", NULL }, { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "auto", }, @@ -209,10 +223,10 @@ struct retro_core_option_definition option_defs_us[] = { "Multitap 2", "Enables/Disables multitap on port 2, allowing up to 8 players in games that permit it. Multitap 1 has to be enabled for this to work.", { - { "auto", NULL }, - { "disabled", NULL }, - { "enabled", NULL }, - { NULL, NULL}, + { "auto", NULL }, + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, }, "auto", }, @@ -228,7 +242,7 @@ struct retro_core_option_definition option_defs_us[] = { { "20", NULL }, { "25", NULL }, { "30", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "0", }, @@ -237,10 +251,10 @@ struct retro_core_option_definition option_defs_us[] = { "NegCon Twist Response", "Specifies the analog response when using a RetroPad left analog stick to simulate the 'twist' action of emulated neGcon Controllers.", { - { "linear", NULL }, + { "linear", NULL }, { "quadratic", NULL }, - { "cubic", NULL }, - { NULL, NULL}, + { "cubic", NULL }, + { NULL, NULL }, }, "linear", }, @@ -251,7 +265,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -262,7 +276,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -275,89 +289,97 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, { "pcsx_rearmed_psxclock", "PSX CPU Clock", - PSX_CLOCK_LABEL, +#ifdef HAVE_PRE_ARMV7 + "Overclock or underclock the PSX clock. Default is 50", +#else + "Overclock or underclock the PSX clock. Default is 57", +#endif { - { "30", NULL }, - { "31", NULL }, - { "32", NULL }, - { "33", NULL }, - { "34", NULL }, - { "35", NULL }, - { "36", NULL }, - { "37", NULL }, - { "38", NULL }, - { "39", NULL }, - { "40", NULL }, - { "41", NULL }, - { "42", NULL }, - { "43", NULL }, - { "44", NULL }, - { "45", NULL }, - { "46", NULL }, - { "47", NULL }, - { "48", NULL }, - { "49", NULL }, - { "50", NULL }, - { "51", NULL }, - { "52", NULL }, - { "53", NULL }, - { "54", NULL }, - { "55", NULL }, - { "56", NULL }, - { "57", NULL }, - { "58", NULL }, - { "59", NULL }, - { "60", NULL }, - { "61", NULL }, - { "62", NULL }, - { "63", NULL }, - { "64", NULL }, - { "65", NULL }, - { "66", NULL }, - { "67", NULL }, - { "68", NULL }, - { "69", NULL }, - { "70", NULL }, - { "71", NULL }, - { "72", NULL }, - { "73", NULL }, - { "74", NULL }, - { "75", NULL }, - { "76", NULL }, - { "77", NULL }, - { "78", NULL }, - { "79", NULL }, - { "80", NULL }, - { "81", NULL }, - { "82", NULL }, - { "83", NULL }, - { "84", NULL }, - { "85", NULL }, - { "86", NULL }, - { "87", NULL }, - { "88", NULL }, - { "89", NULL }, - { "90", NULL }, - { "91", NULL }, - { "92", NULL }, - { "93", NULL }, - { "94", NULL }, - { "95", NULL }, - { "96", NULL }, - { "97", NULL }, - { "98", NULL }, - { "99", NULL }, + { "30", NULL }, + { "31", NULL }, + { "32", NULL }, + { "33", NULL }, + { "34", NULL }, + { "35", NULL }, + { "36", NULL }, + { "37", NULL }, + { "38", NULL }, + { "39", NULL }, + { "40", NULL }, + { "41", NULL }, + { "42", NULL }, + { "43", NULL }, + { "44", NULL }, + { "45", NULL }, + { "46", NULL }, + { "47", NULL }, + { "48", NULL }, + { "49", NULL }, + { "50", NULL }, + { "51", NULL }, + { "52", NULL }, + { "53", NULL }, + { "54", NULL }, + { "55", NULL }, + { "56", NULL }, + { "57", NULL }, + { "58", NULL }, + { "59", NULL }, + { "60", NULL }, + { "61", NULL }, + { "62", NULL }, + { "63", NULL }, + { "64", NULL }, + { "65", NULL }, + { "66", NULL }, + { "67", NULL }, + { "68", NULL }, + { "69", NULL }, + { "70", NULL }, + { "71", NULL }, + { "72", NULL }, + { "73", NULL }, + { "74", NULL }, + { "75", NULL }, + { "76", NULL }, + { "77", NULL }, + { "78", NULL }, + { "79", NULL }, + { "80", NULL }, + { "81", NULL }, + { "82", NULL }, + { "83", NULL }, + { "84", NULL }, + { "85", NULL }, + { "86", NULL }, + { "87", NULL }, + { "88", NULL }, + { "89", NULL }, + { "90", NULL }, + { "91", NULL }, + { "92", NULL }, + { "93", NULL }, + { "94", NULL }, + { "95", NULL }, + { "96", NULL }, + { "97", NULL }, + { "98", NULL }, + { "99", NULL }, { "100", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, - PSX_CLOCK_DEFAULT, +#ifdef HAVE_PRE_ARMV7 + "50", +#else + "57", +#endif }, #endif /* DRC_DISABLE */ @@ -369,7 +391,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -380,7 +402,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -391,7 +413,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -404,7 +426,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -415,7 +437,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -429,106 +451,106 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_0", + "pcsx_rearmed_gpu_peops_odd_even_bit", "(GPU) Odd/Even Bit Hack", "Needed for Chrono Cross.", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_1", + "pcsx_rearmed_gpu_peops_expand_screen_width", "(GPU) Expand Screen Width", "Capcom fighting games", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_2", + "pcsx_rearmed_gpu_peops_ignore_brightness", "(GPU) Ignore Brightness Color", "Black screens in Lunar Silver Star Story games", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_3", + "pcsx_rearmed_gpu_peops_disable_coord_check", "(GPU) Disable Coordinate Check", "Compatibility mode", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_6", + "pcsx_rearmed_gpu_peops_lazy_screen_update", "(GPU) Lazy Screen Update", "Pandemonium 2", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_7", + "pcsx_rearmed_gpu_peops_old_frame_skip", "(GPU) Old Frame Skipping", "Skip every second frame", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, { - "pcsx_rearmed_gpu_peops_fix_8", + "pcsx_rearmed_gpu_peops_repeated_triangles", "(GPU) Repeated Flat Tex Triangles", "Needed by Star Wars: Dark Forces", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_9", + "pcsx_rearmed_gpu_peops_quads_with_triangles", "(GPU) Draw Quads with Triangles", "Better g-colors, worse textures", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_10", + "pcsx_rearmed_gpu_peops_fake_busy_state", "(GPU) Fake 'Gpu Busy' States", "Toggle busy flags after drawing", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -611,7 +633,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -622,7 +644,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -631,11 +653,11 @@ struct retro_core_option_definition option_defs_us[] = { "Sound Interpolation", NULL, { - { "simple", NULL }, - { "gaussian", NULL }, - { "cubic", NULL }, - { "off", NULL }, - { NULL, NULL}, + { "simple", "Simple" }, + { "gaussian", "Gaussian" }, + { "cubic", "Cubic" }, + { "off", "disabled" }, + { NULL, NULL }, }, "simple", }, @@ -646,7 +668,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -657,7 +679,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -668,7 +690,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -681,7 +703,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -692,7 +714,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -705,7 +727,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -716,7 +738,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -727,542 +749,22 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, - }, - "disabled", - }, -#endif /* DRC_DISABLE */ - - { NULL, NULL, NULL, { {0} }, NULL }, -}; - -/* RETRO_LANGUAGE_JAPANESE */ - -/* RETRO_LANGUAGE_FRENCH */ - -/* RETRO_LANGUAGE_SPANISH */ - -/* RETRO_LANGUAGE_GERMAN */ - -/* RETRO_LANGUAGE_ITALIAN */ - -/* RETRO_LANGUAGE_DUTCH */ - -/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */ - -/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */ - -/* RETRO_LANGUAGE_RUSSIAN */ - -/* RETRO_LANGUAGE_KOREAN */ - -/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */ - -/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */ - -/* RETRO_LANGUAGE_ESPERANTO */ - -/* RETRO_LANGUAGE_POLISH */ - -/* RETRO_LANGUAGE_VIETNAMESE */ - -/* RETRO_LANGUAGE_ARABIC */ - -/* RETRO_LANGUAGE_GREEK */ - -/* RETRO_LANGUAGE_TURKISH */ - -struct retro_core_option_definition option_defs_tr[] = { - { - "pcsx_rearmed_frameskip", - "Kare Atlama", - "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_bios", - "BIOS Kullan", - "Gerçek bios dosyasını (varsa) veya öykünmüş bios'u (HLE) kullanmanızı sağlar. Daha iyi uyumluluk için resmi bios dosyasını kullanmanız önerilir.", - { - { "auto", "otomatik" }, - { "HLE", "hle" }, - { NULL, NULL}, - }, - "auto", - }, - { - "pcsx_rearmed_region", - "Bölge", - "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.", - { - { "auto", "otomatik" }, - { "NTSC", "ntsc" }, - { "PAL", "pal" }, - { NULL, NULL}, - }, - "auto", - }, - { - "pcsx_rearmed_memcard2", - "İkinci Bellek Kartını Etkinleştir (Paylaşılan)", - "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_pad1type", - "Kumanda 1 Tipi", - "1. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "standard", - }, - { - "pcsx_rearmed_pad2type", - "Kumanda 2 Tipi", - "2. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "standard", - }, - { - "pcsx_rearmed_pad3type", - "Kumanda 3 Tipi", - "3. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - }, - { - "pcsx_rearmed_pad4type", - "Kumanda 4 Tipi", - "4. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - }, - { - "pcsx_rearmed_pad5type", - "Kumanda 5 Tipi", - "5. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - },{ - "pcsx_rearmed_pad6type", - "Kumanda 6 Tipi", - "6. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - },{ - "pcsx_rearmed_pad7type", - "Kumanda 7 Tipi", - "7. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - },{ - "pcsx_rearmed_pad8type", - "Kumanda 8 Tipi", - "8. Oyuncu için kontrolör tipi", - { - { "standard", NULL }, - { "analog", NULL }, - { "dualshock", NULL }, - { "negcon", NULL }, - { "none", "hiçbiri" }, - { NULL, NULL}, - }, - "none", - }, - { - "pcsx_rearmed_multitap1", - "Multitap 1", - "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.", - { - { "auto", "otomatik" }, - { "disabled", NULL }, - { "enabled", NULL }, - { NULL, NULL}, - }, - "auto", - }, - { - "pcsx_rearmed_multitap2", - "Multitap 2", - "Bağlantı noktası 2'deki multitap'ı etkinleştirir/devre dışı bırakır ve izin veren oyunlarda 8 oyuncuya kadar izin verir. Bunun çalışması için Multitap 1'in etkinleştirilmesi gerekir.", - { - { "auto", "otomatik" }, - { "disabled", NULL }, - { "enabled", NULL }, - { NULL, NULL}, - }, - "auto", - }, - { - "pcsx_rearmed_negcon_deadzone", - "NegCon Twist Deadzone (Yüzdelik)", - "Öykünülmüş neGcon kontrolörünün 'büküm' eylemini simüle ederken RetroPad sol analog çubuğunun ölü bölgesini ayarlar. Sürüklenme/istenmeyen girişi ortadan kaldırmak için kullanılır.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_negcon_response", - "NegCon Twist Response", - "Öykünülmüş neGcon kontrolörünün 'bükümünü' simule etmek için bir RetroPad sol analog çubuğu kullanırken analog cevabını belirtir.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_vibration", - "Titreşimi Etkinleştir", - "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_dithering", - "Dithering Etkinleştir", - "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.", - { - { NULL, NULL }, - }, - NULL - }, - -#ifndef DRC_DISABLE - { - "pcsx_rearmed_drc", - "Dinamik Yeniden Derleyici", - "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_psxclock", - "PSX CPU Saat Hızı", - PSX_CLOCK_LABEL, - { - { NULL, NULL }, - }, - NULL - }, -#endif /* DRC_DISABLE */ - -#ifdef __ARM_NEON__ - { - "pcsx_rearmed_neon_interlace_enable", - "Interlacing Mode'u etkinleştir", - "Sahte tarama çizgileri efektini etkinleştirir.", - { { NULL, NULL }, }, - NULL - }, - { - "pcsx_rearmed_neon_enhancement_enable", - "Geliştirilmiş Çözünürlük (Yavaş)", - "Düşük performans pahasına çift çözünürlükte işler.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_neon_enhancement_no_main", - "Geliştirilmiş Çözünürlük (Speed Hack)", - "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).", - { - { NULL, NULL }, - }, - NULL - }, -#endif /* __ARM_NEON__ */ - - { - "pcsx_rearmed_duping_enable", - "Frame Duping", - "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_display_internal_fps", - "Dahili FPS'yi görüntüle", - "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.", - { - { NULL, NULL }, - }, - NULL - }, - - /* GPU PEOPS OPTIONS */ -#ifdef DRC_DISABLE - { - "pcsx_rearmed_show_gpu_peops_settings", - "Gelişmiş GPU Ayarlarını Göster", - "Çeşitli GPU düzeltmelerini etkinleştirin veya devre dışı bırakın. Ayarların etkili olması için core'un yeniden başlatılması gerekebilir. NOT: Bu ayarın etkili olabilmesi için Hızlı Menü’nün değiştirilmesi gerekir.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_0", - "(GPU) Odd/Even Bit Hack", - "Chrono Cross için gerekli.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_1", - "(GPU) Ekran Genişliğini Genişlet", - "Capcom dövüş oyunları", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_2", - "(GPU) Parlaklık Rengini Yoksay", - "Lunar Silver Star Story oyunlarında siyah ekran", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_3", - "(GPU) Koordinat Kontrolünü Devre Dışı Bırak", - "Uyumluluk modu", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_6", - "(GPU) Tembel Ekran Güncellemesi", - "Pandemonium 2", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_7", - "(GPU) Eski Çerçeve Atlama", - "Her ikinci kareyi atla", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_8", - "(GPU) Tekrarlanan Düz Doku Üçgenleri", - "Star Wars: Dark Forces için gerekli", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_9", - "(GPU) Üçgenler ile Dörtlü Çiz", - "Daha iyi g renkler, daha kötü dokular", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gpu_peops_fix_10", - "(GPU) Sahte 'Gpu Meşgul' Konumları", - "Çizimden sonra meşgul bayraklarını değiştir", - { - { NULL, NULL }, - }, - NULL - }, -#endif - - { - "pcsx_rearmed_show_bios_bootlogo", - "Bios Bootlogo'yu Göster", - "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_spu_reverb", - "Ses Yankısı", - "Ses yankı efektini etkinleştirir veya devre dışı bırakır.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_spu_interpolation", - "Ses Enterpolasyonu", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_idiablofix", - "Diablo Müzik Düzeltmesi", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_pe2_fix", - "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_inuyasha_fix", - "InuYasha Sengoku Battle Düzeltmesi", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - - /* ADVANCED OPTIONS */ - { - "pcsx_rearmed_noxadecoding", - "XA Kod Çözme", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_nocdaudio", - "CD Ses", - NULL, - { - { NULL, NULL }, - }, - NULL - }, - -#ifndef DRC_DISABLE - { - "pcsx_rearmed_nosmccheck", - "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak", - "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_gteregsunneeded", - "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın", - "Grafiksel bozukluklara neden olabilir.", - { - { NULL, NULL }, - }, - NULL - }, - { - "pcsx_rearmed_nogteflags", - "(Speed Hack) GTE Bayraklarını Devredışı Bırakın", - "Grafiksel bozukluklara neden olur.", - { - { NULL, NULL }, - }, - NULL + "disabled", }, #endif /* DRC_DISABLE */ - { NULL, NULL, NULL, { {0} }, NULL }, + { NULL, NULL, NULL, {{0}}, NULL }, }; - /* ******************************** * Language Mapping ******************************** */ +#ifndef HAVE_NO_LANGEXTRA struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { option_defs_us, /* RETRO_LANGUAGE_ENGLISH */ NULL, /* RETRO_LANGUAGE_JAPANESE */ @@ -1282,8 +784,9 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { NULL, /* RETRO_LANGUAGE_VIETNAMESE */ NULL, /* RETRO_LANGUAGE_ARABIC */ NULL, /* RETRO_LANGUAGE_GREEK */ - option_defs_tr, /* RETRO_LANGUAGE_TURKISH */ + option_defs_tr, /* RETRO_LANGUAGE_TURKISH */ }; +#endif /* ******************************** @@ -1292,7 +795,8 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { */ /* Handles configuration/setting of core options. - * Should only be called inside retro_set_environment(). + * Should be called as early as possible - ideally inside + * retro_set_environment(), and no later than retro_load_game() * > We place the function body in the header to avoid the * necessity of adding more .c files (i.e. want this to * be as painless as possible for core devs) @@ -1305,8 +809,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) if (!environ_cb) return; - if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version == 1)) + if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version >= 1)) { +#ifndef HAVE_NO_LANGEXTRA struct retro_core_options_intl core_options_intl; unsigned language = 0; @@ -1318,6 +823,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) core_options_intl.local = option_defs_intl[language]; environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl); +#else + environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS, &option_defs_us); +#endif } else { @@ -1387,7 +895,7 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) } /* Build values string */ - if (num_values > 1) + if (num_values > 0) { size_t j; diff --git a/frontend/libretro_core_options_intl.h b/frontend/libretro_core_options_intl.h new file mode 100644 index 0000000..16c40a0 --- /dev/null +++ b/frontend/libretro_core_options_intl.h @@ -0,0 +1,568 @@ +#ifndef LIBRETRO_CORE_OPTIONS_INTL_H__ +#define LIBRETRO_CORE_OPTIONS_INTL_H__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +#include <libretro.h> + +/* + ******************************** + * VERSION: 1.3 + ******************************** + * + * - 1.3: Move translations to libretro_core_options_intl.h + * - libretro_core_options_intl.h includes BOM and utf-8 + * fix for MSVC 2010-2013 + * - Added HAVE_NO_LANGEXTRA flag to disable translations + * on platforms/compilers without BOM support + * - 1.2: Use core options v1 interface when + * RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION is >= 1 + * (previously required RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION == 1) + * - 1.1: Support generation of core options v0 retro_core_option_value + * arrays containing options with a single value + * - 1.0: First commit +*/ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + ******************************** + * Core Option Definitions + ******************************** +*/ + +/* RETRO_LANGUAGE_JAPANESE */ + +/* RETRO_LANGUAGE_FRENCH */ + +/* RETRO_LANGUAGE_SPANISH */ + +/* RETRO_LANGUAGE_GERMAN */ + +/* RETRO_LANGUAGE_ITALIAN */ + +/* RETRO_LANGUAGE_DUTCH */ + +/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */ + +/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */ + +/* RETRO_LANGUAGE_RUSSIAN */ + +/* RETRO_LANGUAGE_KOREAN */ + +/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */ + +/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */ + +/* RETRO_LANGUAGE_ESPERANTO */ + +/* RETRO_LANGUAGE_POLISH */ + +/* RETRO_LANGUAGE_VIETNAMESE */ + +/* RETRO_LANGUAGE_ARABIC */ + +/* RETRO_LANGUAGE_GREEK */ + +/* RETRO_LANGUAGE_TURKISH */ + +struct retro_core_option_definition option_defs_tr[] = { + { + "pcsx_rearmed_frameskip", + "Kare Atlama", + "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_bios", + "BIOS Kullan", + "Gerçek bios dosyasını (varsa) veya öykünmüş bios'u (HLE) kullanmanızı sağlar. Daha iyi uyumluluk için resmi bios dosyasını kullanmanız önerilir.", + { + { "auto", "otomatik" }, + { "HLE", "hle" }, + { NULL, NULL }, + }, + "auto", + }, + { + "pcsx_rearmed_region", + "Bölge", + "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.", + { + { "auto", "otomatik" }, + { "NTSC", "ntsc" }, + { "PAL", "pal" }, + { NULL, NULL }, + }, + "auto", + }, + { + "pcsx_rearmed_memcard2", + "İkinci Bellek Kartını Etkinleştir (Paylaşılan)", + "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_pad1type", + "Kumanda 1 Tipi", + "1. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "standard", + }, + { + "pcsx_rearmed_pad2type", + "Kumanda 2 Tipi", + "2. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "standard", + }, + { + "pcsx_rearmed_pad3type", + "Kumanda 3 Tipi", + "3. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + }, + { + "pcsx_rearmed_pad4type", + "Kumanda 4 Tipi", + "4. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + }, + { + "pcsx_rearmed_pad5type", + "Kumanda 5 Tipi", + "5. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + },{ + "pcsx_rearmed_pad6type", + "Kumanda 6 Tipi", + "6. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + },{ + "pcsx_rearmed_pad7type", + "Kumanda 7 Tipi", + "7. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + },{ + "pcsx_rearmed_pad8type", + "Kumanda 8 Tipi", + "8. Oyuncu için kontrolör tipi", + { + { "standard", NULL }, + { "analog", NULL }, + { "dualshock", NULL }, + { "negcon", NULL }, + { "none", "hiçbiri" }, + { NULL, NULL }, + }, + "none", + }, + { + "pcsx_rearmed_multitap1", + "Multitap 1", + "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.", + { + { "auto", "otomatik" }, + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "auto", + }, + { + "pcsx_rearmed_multitap2", + "Multitap 2", + "Bağlantı noktası 2'deki multitap'ı etkinleştirir/devre dışı bırakır ve izin veren oyunlarda 8 oyuncuya kadar izin verir. Bunun çalışması için Multitap 1'in etkinleştirilmesi gerekir.", + { + { "auto", "otomatik" }, + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "auto", + }, + { + "pcsx_rearmed_negcon_deadzone", + "NegCon Twist Deadzone (Yüzdelik)", + "Öykünülmüş neGcon kontrolörünün 'büküm' eylemini simüle ederken RetroPad sol analog çubuğunun ölü bölgesini ayarlar. Sürüklenme/istenmeyen girişi ortadan kaldırmak için kullanılır.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_negcon_response", + "NegCon Twist Response", + "Öykünülmüş neGcon kontrolörünün 'bükümünü' simule etmek için bir RetroPad sol analog çubuğu kullanırken analog cevabını belirtir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_vibration", + "Titreşimi Etkinleştir", + "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_dithering", + "Dithering Etkinleştir", + "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.", + { + { NULL, NULL }, + }, + NULL + }, + +#ifndef DRC_DISABLE + { + "pcsx_rearmed_drc", + "Dinamik Yeniden Derleyici", + "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_psxclock", + "PSX CPU Saat Hızı", +#ifdef HAVE_PRE_ARMV7 + "Overclock or underclock the PSX clock. Default is 50", +#else + "Overclock or underclock the PSX clock. Default is 57", +#endif + { + { NULL, NULL }, + }, + NULL + }, +#endif /* DRC_DISABLE */ + +#ifdef __ARM_NEON__ + { + "pcsx_rearmed_neon_interlace_enable", + "Interlacing Mode'u etkinleştir", + "Sahte tarama çizgileri efektini etkinleştirir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_neon_enhancement_enable", + "Geliştirilmiş Çözünürlük (Yavaş)", + "Düşük performans pahasına çift çözünürlükte işler.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_neon_enhancement_no_main", + "Geliştirilmiş Çözünürlük (Speed Hack)", + "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).", + { + { NULL, NULL }, + }, + NULL + }, +#endif /* __ARM_NEON__ */ + + { + "pcsx_rearmed_duping_enable", + "Frame Duping", + "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_display_internal_fps", + "Dahili FPS'yi görüntüle", + "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.", + { + { NULL, NULL }, + }, + NULL + }, + + /* GPU PEOPS OPTIONS */ +#ifdef DRC_DISABLE + { + "pcsx_rearmed_show_gpu_peops_settings", + "Gelişmiş GPU Ayarlarını Göster", + "Çeşitli GPU düzeltmelerini etkinleştirin veya devre dışı bırakın. Ayarların etkili olması için core'un yeniden başlatılması gerekebilir. NOT: Bu ayarın etkili olabilmesi için Hızlı Menü’nün değiştirilmesi gerekir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_odd_even_bit", + "(GPU) Odd/Even Bit Hack", + "Chrono Cross için gerekli.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_expand_screen_width", + "(GPU) Ekran Genişliğini Genişlet", + "Capcom dövüş oyunları", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_ignore_brightness", + "(GPU) Parlaklık Rengini Yoksay", + "Lunar Silver Star Story oyunlarında siyah ekran", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_disable_coord_check", + "(GPU) Koordinat Kontrolünü Devre Dışı Bırak", + "Uyumluluk modu", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_lazy_screen_update", + "(GPU) Tembel Ekran Güncellemesi", + "Pandemonium 2", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_old_frame_skip", + "(GPU) Eski Çerçeve Atlama", + "Her ikinci kareyi atla", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_repeated_triangles", + "(GPU) Tekrarlanan Düz Doku Üçgenleri", + "Star Wars: Dark Forces için gerekli", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_quads_with_triangles", + "(GPU) Üçgenler ile Dörtlü Çiz", + "Daha iyi g renkler, daha kötü dokular", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gpu_peops_fake_busy_state", + "(GPU) Sahte 'Gpu Meşgul' Konumları", + "Çizimden sonra meşgul bayraklarını değiştir", + { + { NULL, NULL }, + }, + NULL + }, +#endif + + { + "pcsx_rearmed_show_bios_bootlogo", + "Bios Bootlogo'yu Göster", + "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_spu_reverb", + "Ses Yankısı", + "Ses yankı efektini etkinleştirir veya devre dışı bırakır.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_spu_interpolation", + "Ses Enterpolasyonu", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_idiablofix", + "Diablo Müzik Düzeltmesi", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_pe2_fix", + "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_inuyasha_fix", + "InuYasha Sengoku Battle Düzeltmesi", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + + /* ADVANCED OPTIONS */ + { + "pcsx_rearmed_noxadecoding", + "XA Kod Çözme", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_nocdaudio", + "CD Ses", + NULL, + { + { NULL, NULL }, + }, + NULL + }, + +#ifndef DRC_DISABLE + { + "pcsx_rearmed_nosmccheck", + "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak", + "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_gteregsunneeded", + "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın", + "Grafiksel bozukluklara neden olabilir.", + { + { NULL, NULL }, + }, + NULL + }, + { + "pcsx_rearmed_nogteflags", + "(Speed Hack) GTE Bayraklarını Devredışı Bırakın", + "Grafiksel bozukluklara neden olur.", + { + { NULL, NULL }, + }, + NULL + }, +#endif /* DRC_DISABLE */ + + { NULL, NULL, NULL, {{0}}, NULL }, +}; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/frontend/main.c b/frontend/main.c index b6b5411..fcf3846 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -151,7 +151,7 @@ void emu_set_default_config(void) spu_config.iVolume = 768; spu_config.iTempo = 0; spu_config.iUseThread = 1; // no effect if only 1 core is detected -#ifdef HAVE_PRE_ARMV7 /* XXX GPH hack */ +#if defined(HAVE_PRE_ARMV7) && !defined(_3DS) /* XXX GPH hack */ spu_config.iUseReverb = 0; spu_config.iUseInterpolation = 0; spu_config.iTempo = 1; @@ -877,7 +877,7 @@ static int _OpenPlugins(void) { if (Config.UseNet && !NetOpened) { netInfo info; - char path[MAXPATHLEN]; + char path[MAXPATHLEN * 2]; char dotdir[MAXPATHLEN]; MAKE_PATH(dotdir, "/.pcsx/plugins/", NULL); |