Backport GPU Unai plugin from PCSX4ALL
[pcsx_rearmed.git] / frontend / libretro_core_options.h
CommitLineData
919cac88 1#ifndef LIBRETRO_CORE_OPTIONS_H__
2#define LIBRETRO_CORE_OPTIONS_H__
3
4#include <stdlib.h>
5#include <string.h>
6
7#include <libretro.h>
8#include <retro_inline.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*
15 ********************************
16 * Core Option Definitions
17 ********************************
18*/
19
20/* RETRO_LANGUAGE_ENGLISH */
21
22/* Default language:
23 * - All other languages must include the same keys and values
24 * - Will be used as a fallback in the event that frontend language
25 * is not available
26 * - Will be used as a fallback for any missing entries in
27 * frontend language definition
28 */
29
30#ifdef HAVE_PRE_ARMV7
31#define PSX_CLOCK_DEFAULT "50"
32#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 50"
33#else
34#define PSX_CLOCK_DEFAULT "57"
35#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 57"
36#endif
37
38struct retro_core_option_definition option_defs_us[] = {
39 {
40 "pcsx_rearmed_frameskip",
41 "Frameskip",
42 "Choose how much frames should be skipped to improve performance at the expense of visual smoothness.",
43 {
44 { "0", NULL },
45 { "1", NULL },
46 { "2", NULL },
47 { "3", NULL },
48 { NULL, NULL},
49 },
50 "0",
51 },
52 {
53 "pcsx_rearmed_bios",
54 "Use BIOS",
55 "Allows you to use real bios file (if available) or emulated bios (HLE). Its recommended to use official bios file for better compatibility.",
56 {
57 { "auto", "auto" },
58 { "HLE", "hle" },
59 { NULL, NULL},
60 },
61 "auto",
62 },
63 {
64 "pcsx_rearmed_region",
65 "Region",
66 "Choose what region the system is from. 60 Hz for NTSC, 50 Hz for PAL.",
67 {
68 { "auto", "auto" },
69 { "NTSC", "ntsc" },
70 { "PAL", "pal" },
71 { NULL, NULL},
72 },
73 "auto",
74 },
75 {
76 "pcsx_rearmed_memcard2",
c8108d88 77 "Enable Second Memory Card (Shared)",
ef2683f1 78 "Enabled the memory card slot 2. This memory card is shared amongst all games.",
919cac88 79 {
80 { "disable", NULL },
81 { "enabled", NULL },
82 { NULL, NULL},
83 },
84 "disable",
85 },
86 {
87 "pcsx_rearmed_pad1type",
88 "Pad 1 Type",
89 "Pad type for player 1",
90 {
91 { "standard", NULL },
92 { "analog", NULL },
93 { "dualshock", NULL },
94 { "negcon", NULL },
95 { "none", NULL },
96 { NULL, NULL},
97 },
98 "standard",
99 },
100 {
101 "pcsx_rearmed_pad2type",
102 "Pad 2 Type",
103 "Pad type for player 2",
104 {
105 { "standard", NULL },
106 { "analog", NULL },
107 { "dualshock", NULL },
108 { "negcon", NULL },
109 { "none", NULL },
110 { NULL, NULL},
111 },
112 "standard",
113 },
114 {
115 "pcsx_rearmed_pad3type",
116 "Pad 3 Type",
117 "Pad type for player 3",
118 {
119 { "standard", NULL },
120 { "analog", NULL },
121 { "dualshock", NULL },
122 { "negcon", NULL },
123 { "none", NULL },
124 { NULL, NULL},
125 },
126 "none",
127 },
128 {
129 "pcsx_rearmed_pad4type",
130 "Pad 4 Type",
131 "Pad type for player 4",
132 {
133 { "standard", NULL },
134 { "analog", NULL },
135 { "dualshock", NULL },
136 { "negcon", NULL },
137 { "none", NULL },
138 { NULL, NULL},
139 },
140 "none",
141 },
142 {
143 "pcsx_rearmed_pad5type",
144 "Pad 5 Type",
145 "Pad type for player 5",
146 {
147 { "standard", NULL },
148 { "analog", NULL },
149 { "dualshock", NULL },
150 { "negcon", NULL },
151 { "none", NULL },
152 { NULL, NULL},
153 },
154 "none",
155 },{
156 "pcsx_rearmed_pad6type",
157 "Pad 6 Type",
158 "Pad type for player 6",
159 {
160 { "standard", NULL },
161 { "analog", NULL },
162 { "dualshock", NULL },
163 { "negcon", NULL },
164 { "none", NULL },
165 { NULL, NULL},
166 },
167 "none",
168 },{
169 "pcsx_rearmed_pad7type",
170 "Pad 7 Type",
171 "Pad type for player 7",
172 {
173 { "standard", NULL },
174 { "analog", NULL },
175 { "dualshock", NULL },
176 { "negcon", NULL },
177 { "none", NULL },
178 { NULL, NULL},
179 },
180 "none",
181 },{
182 "pcsx_rearmed_pad8type",
183 "Pad 8 Type",
184 "Pad type for player 8",
185 {
186 { "standard", NULL },
187 { "analog", NULL },
188 { "dualshock", NULL },
189 { "negcon", NULL },
190 { "none", NULL },
191 { NULL, NULL},
192 },
193 "none",
194 },
195 {
196 "pcsx_rearmed_multitap1",
197 "Multitap 1",
198 "Enables/Disables multitap on port 1, allowing upto 5 players in games that permit it.",
199 {
200 { "auto", NULL },
201 { "disabled", NULL },
202 { "enabled", NULL },
203 { NULL, NULL},
204 },
205 "auto",
206 },
207 {
208 "pcsx_rearmed_multitap2",
209 "Multitap 2",
ef2683f1 210 "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.",
919cac88 211 {
212 { "auto", NULL },
213 { "disabled", NULL },
214 { "enabled", NULL },
215 { NULL, NULL},
216 },
217 "auto",
218 },
219 {
220 "pcsx_rearmed_negcon_deadzone",
c8108d88 221 "NegCon Twist Deadzone (Percent)",
919cac88 222 "Sets the deadzone of the RetroPad left analog stick when simulating the 'twist' action of emulated neGcon Controllers. Used to eliminate drift/unwanted input.",
223 {
224 { "0", NULL },
225 { "5", NULL },
226 { "10", NULL },
227 { "15", NULL },
228 { "20", NULL },
229 { "25", NULL },
230 { "30", NULL },
231 { NULL, NULL},
232 },
233 "0",
234 },
235 {
236 "pcsx_rearmed_negcon_response",
237 "NegCon Twist Response",
238 "Specifies the analog response when using a RetroPad left analog stick to simulate the 'twist' action of emulated neGcon Controllers.",
239 {
240 { "linear", NULL },
241 { "quadratic", NULL },
242 { "cubic", NULL },
243 { NULL, NULL},
244 },
245 "linear",
246 },
247 {
248 "pcsx_rearmed_vibration",
249 "Enable Vibration",
c8108d88 250 "Enables vibration feedback for controllers that supports vibration features.",
919cac88 251 {
252 { "disabled", NULL },
253 { "enabled", NULL },
254 { NULL, NULL},
255 },
256 "enabled",
257 },
258 {
259 "pcsx_rearmed_dithering",
260 "Enable Dithering",
261 "If Off, disables the dithering pattern the PSX applies to combat color banding.",
262 {
263 { "disabled", NULL },
264 { "enabled", NULL },
265 { NULL, NULL},
266 },
267 "enabled",
268 },
269
270#ifndef DRC_DISABLE
271 {
272 "pcsx_rearmed_drc",
c8108d88 273 "Dynamic Recompiler",
ef2683f1 274 "Enables core to use dynamic recompiler or interpreter (slower) CPU instructions.",
919cac88 275 {
276 { "disabled", NULL },
277 { "enabled", NULL },
278 { NULL, NULL},
279 },
280 "enabled",
281 },
282 {
283 "pcsx_rearmed_psxclock",
c8108d88 284 "PSX CPU Clock",
919cac88 285 PSX_CLOCK_LABEL,
286 {
287 { "30", NULL },
288 { "31", NULL },
289 { "32", NULL },
290 { "33", NULL },
291 { "34", NULL },
292 { "35", NULL },
293 { "36", NULL },
294 { "37", NULL },
295 { "38", NULL },
296 { "39", NULL },
297 { "40", NULL },
298 { "41", NULL },
299 { "42", NULL },
300 { "43", NULL },
301 { "44", NULL },
302 { "45", NULL },
303 { "46", NULL },
304 { "47", NULL },
305 { "48", NULL },
306 { "49", NULL },
307 { "50", NULL },
308 { "51", NULL },
309 { "52", NULL },
310 { "53", NULL },
311 { "54", NULL },
312 { "55", NULL },
313 { "56", NULL },
314 { "57", NULL },
315 { "58", NULL },
316 { "59", NULL },
317 { "60", NULL },
318 { "61", NULL },
319 { "62", NULL },
320 { "63", NULL },
321 { "64", NULL },
322 { "65", NULL },
323 { "66", NULL },
324 { "67", NULL },
325 { "68", NULL },
326 { "69", NULL },
327 { "70", NULL },
328 { "71", NULL },
329 { "72", NULL },
330 { "73", NULL },
331 { "74", NULL },
332 { "75", NULL },
333 { "76", NULL },
334 { "77", NULL },
335 { "78", NULL },
336 { "79", NULL },
337 { "80", NULL },
338 { "81", NULL },
339 { "82", NULL },
340 { "83", NULL },
341 { "84", NULL },
342 { "85", NULL },
343 { "86", NULL },
344 { "87", NULL },
345 { "88", NULL },
346 { "89", NULL },
347 { "90", NULL },
348 { "91", NULL },
349 { "92", NULL },
350 { "93", NULL },
351 { "94", NULL },
352 { "95", NULL },
353 { "96", NULL },
354 { "97", NULL },
355 { "98", NULL },
356 { "99", NULL },
357 { "100", NULL },
358 { NULL, NULL},
359 },
360 PSX_CLOCK_DEFAULT,
361 },
362#endif /* DRC_DISABLE */
363
364#ifdef __ARM_NEON__
365 {
366 "pcsx_rearmed_neon_interlace_enable",
c8108d88 367 "Enable Interlacing Mode",
919cac88 368 "Enables fake scanlines effect.",
369 {
370 { "disabled", NULL },
371 { "enabled", NULL },
372 { NULL, NULL},
373 },
374 "disabled",
375 },
376 {
377 "pcsx_rearmed_neon_enhancement_enable",
c8108d88 378 "Enhanced Resolution (Slow)",
ef2683f1 379 "Renders in double resolution at the cost of lower performance.",
919cac88 380 {
381 { "disabled", NULL },
382 { "enabled", NULL },
383 { NULL, NULL},
384 },
385 "disabled",
386 },
387 {
388 "pcsx_rearmed_neon_enhancement_no_main",
c8108d88 389 "Enhanced Resolution (Speed Hack)",
919cac88 390 "Speed hack for Enhanced resolution option (glitches some games).",
391 {
392 { "disabled", NULL },
393 { "enabled", NULL },
394 { NULL, NULL},
395 },
396 "disabled",
397 },
398#endif /* __ARM_NEON__ */
399
400 {
401 "pcsx_rearmed_duping_enable",
c8108d88 402 "Frame Duping",
919cac88 403 "A speedup, redraws/reuses the last frame if there was no new data.",
404 {
405 { "disabled", NULL },
406 { "enabled", NULL },
407 { NULL, NULL},
408 },
409 "enabled",
410 },
411 {
412 "pcsx_rearmed_display_internal_fps",
413 "Display Internal FPS",
414 "Shows an on-screen frames per second counter when enabled.",
415 {
416 { "disabled", NULL },
417 { "enabled", NULL },
418 { NULL, NULL},
419 },
420 "disabled",
421 },
c8108d88 422
423 /* GPU PEOPS OPTIONS */
2d17de26 424#ifdef GPU_PEOPS
c8108d88 425 {
426 "pcsx_rearmed_show_gpu_peops_settings",
2d17de26 427 "Advanced GPU P.E.Op.S. Settings",
428 "Shows or hides advanced GPU plugin settings. NOTE: Quick Menu must be toggled for this setting to take effect.",
c8108d88 429 {
430 { "disabled", NULL },
431 { "enabled", NULL },
432 { NULL, NULL},
433 },
434 "disabled",
435 },
436 {
437 "pcsx_rearmed_gpu_peops_fix_0",
438 "(GPU) Odd/Even Bit Hack",
439 "Needed for Chrono Cross.",
440 {
441 { "disabled", NULL },
442 { "enabled", NULL },
443 { NULL, NULL},
444 },
445 "disabled",
446 },
447 {
448 "pcsx_rearmed_gpu_peops_fix_1",
449 "(GPU) Expand Screen Width",
450 "Capcom fighting games",
451 {
452 { "disabled", NULL },
453 { "enabled", NULL },
454 { NULL, NULL},
455 },
456 "disabled",
457 },
458 {
459 "pcsx_rearmed_gpu_peops_fix_2",
460 "(GPU) Ignore Brightness Color",
ef2683f1 461 "Black screens in Lunar Silver Star Story games",
c8108d88 462 {
463 { "disabled", NULL },
464 { "enabled", NULL },
465 { NULL, NULL},
466 },
467 "disabled",
468 },
469 {
470 "pcsx_rearmed_gpu_peops_fix_3",
471 "(GPU) Disable Coordinate Check",
472 "Compatibility mode",
473 {
474 { "disabled", NULL },
475 { "enabled", NULL },
476 { NULL, NULL},
477 },
478 "disabled",
479 },
480 {
481 "pcsx_rearmed_gpu_peops_fix_6",
482 "(GPU) Lazy Screen Update",
483 "Pandemonium 2",
484 {
485 { "disabled", NULL },
486 { "enabled", NULL },
487 { NULL, NULL},
488 },
489 "disabled",
490 },
491 {
492 "pcsx_rearmed_gpu_peops_fix_7",
493 "(GPU) Old Frame Skipping",
494 "Skip every second frame",
495 {
496 { "disabled", NULL },
497 { "enabled", NULL },
498 { NULL, NULL},
499 },
500 "enabled",
501 },
502 {
503 "pcsx_rearmed_gpu_peops_fix_8",
504 "(GPU) Repeated Flat Tex Triangles",
ef2683f1 505 "Needed by Star Wars: Dark Forces",
c8108d88 506 {
507 { "disabled", NULL },
508 { "enabled", NULL },
509 { NULL, NULL},
510 },
511 "disabled",
512 },
513 {
514 "pcsx_rearmed_gpu_peops_fix_9",
515 "(GPU) Draw Quads with Triangles",
516 "Better g-colors, worse textures",
517 {
518 { "disabled", NULL },
519 { "enabled", NULL },
520 { NULL, NULL},
521 },
522 "disabled",
523 },
524 {
525 "pcsx_rearmed_gpu_peops_fix_10",
526 "(GPU) Fake 'Gpu Busy' States",
527 "Toggle busy flags after drawing",
528 {
529 { "disabled", NULL },
530 { "enabled", NULL },
531 { NULL, NULL},
532 },
533 "disabled",
534 },
535#endif
536
030d1121 537 /* GPU UNAI Advanced Options */
538#ifdef GPU_UNAI
539 {
540 "pcsx_rearmed_show_gpu_unai_settings",
541 "Advance GPU UNAI/PCSX4All Settings",
542 "Shows or hides advanced gpu settings. A core restart might be needed for settings to take effect. NOTE: Quick Menu must be toggled for this setting to take effect.",
543 {
544 { "disabled", NULL },
545 { "enabled", NULL },
546 { NULL, NULL},
547 },
548 "disabled",
549 },
550 {
551 "pcsx_rearmed_gpu_unai_blending",
552 "(GPU) Enable Blending",
553 NULL,
554 {
555 { "disabled", NULL },
556 { "enabled", NULL },
557 { NULL, NULL},
558 },
559 "enabled",
560 },
561 {
562 "pcsx_rearmed_gpu_unai_lighting",
563 "(GPU) Enable Lighting",
564 NULL,
565 {
566 { "disabled", NULL },
567 { "enabled", NULL },
568 { NULL, NULL},
569 },
570 "enabled",
571 },
572 {
573 "pcsx_rearmed_gpu_unai_fast_lighting",
574 "(GPU) Enable Fast Lighting",
575 NULL,
576 {
577 { "disabled", NULL },
578 { "enabled", NULL },
579 { NULL, NULL},
580 },
581 "enabled",
582 },
583 {
584 "pcsx_rearmed_gpu_unai_ilace_force",
585 "(GPU) Enable Forced Interlace",
586 NULL,
587 {
588 { "disabled", NULL },
589 { "enabled", NULL },
590 { NULL, NULL},
591 },
592 "disabled",
593 },
594 {
595 "pcsx_rearmed_gpu_unai_pixel_skip",
596 "(GPU) Enable Pixel Skip",
597 NULL,
598 {
599 { "disabled", NULL },
600 { "enabled", NULL },
601 { NULL, NULL},
602 },
603 "disabled",
604 },
605#endif /* GPU UNAI Advanced Settings */
606
919cac88 607 {
608 "pcsx_rearmed_show_bios_bootlogo",
609 "Show Bios Bootlogo",
ef2683f1 610 "When enabled, shows the PlayStation logo when starting or resetting. (Breaks some games).",
919cac88 611 {
612 { "disabled", NULL },
613 { "enabled", NULL },
614 { NULL, NULL},
615 },
616 "disabled",
617 },
618 {
619 "pcsx_rearmed_spu_reverb",
620 "Sound Reverb",
621 "Enables or disables audio reverb effect.",
622 {
623 { "disabled", NULL },
624 { "enabled", NULL },
625 { NULL, NULL},
626 },
627 "enabled",
628 },
629 {
630 "pcsx_rearmed_spu_interpolation",
c8108d88 631 "Sound Interpolation",
919cac88 632 NULL,
633 {
634 { "simple", NULL },
635 { "gaussian", NULL },
636 { "cubic", NULL },
637 { "off", NULL },
638 { NULL, NULL},
639 },
640 "simple",
641 },
642 {
643 "pcsx_rearmed_idiablofix",
644 "Diablo Music Fix",
645 NULL,
646 {
647 { "disabled", NULL },
648 { "enabled", NULL },
649 { NULL, NULL},
650 },
651 "disabled",
652 },
653 {
654 "pcsx_rearmed_pe2_fix",
655 "Parasite Eve 2/Vandal Hearts 1/2 Fix",
656 NULL,
657 {
658 { "disabled", NULL },
659 { "enabled", NULL },
660 { NULL, NULL},
661 },
662 "disabled",
663 },
664 {
665 "pcsx_rearmed_inuyasha_fix",
666 "InuYasha Sengoku Battle Fix",
667 NULL,
668 {
669 { "disabled", NULL },
670 { "enabled", NULL },
671 { NULL, NULL},
672 },
673 "disabled",
674 },
675
676 /* ADVANCED OPTIONS */
677 {
678 "pcsx_rearmed_noxadecoding",
679 "XA Decoding",
680 NULL,
681 {
682 { "disabled", NULL },
683 { "enabled", NULL },
684 { NULL, NULL},
685 },
686 "enabled",
687 },
688 {
689 "pcsx_rearmed_nocdaudio",
690 "CD Audio",
691 NULL,
692 {
693 { "disabled", NULL },
694 { "enabled", NULL },
695 { NULL, NULL},
696 },
697 "enabled",
698 },
699
700#ifndef DRC_DISABLE
701 {
702 "pcsx_rearmed_nosmccheck",
703 "(Speed Hack) Disable SMC Checks",
704 "Will cause crashes when loading, break memcards.",
705 {
706 { "disabled", NULL },
707 { "enabled", NULL },
708 { NULL, NULL},
709 },
710 "disabled",
711 },
712 {
713 "pcsx_rearmed_gteregsunneeded",
714 "(Speed Hack) Assume GTE Regs Unneeded",
715 "May cause graphical glitches.",
716 {
717 { "disabled", NULL },
718 { "enabled", NULL },
719 { NULL, NULL},
720 },
721 "disabled",
722 },
723 {
724 "pcsx_rearmed_nogteflags",
725 "(Speed Hack) Disable GTE Flags",
726 "Will cause graphical glitches.",
727 {
728 { "disabled", NULL },
729 { "enabled", NULL },
730 { NULL, NULL},
731 },
732 "disabled",
733 },
734#endif /* DRC_DISABLE */
735
0f288b5c 736 { NULL, NULL, NULL, { {0} }, NULL },
919cac88 737};
738
739/* RETRO_LANGUAGE_JAPANESE */
740
741/* RETRO_LANGUAGE_FRENCH */
742
743/* RETRO_LANGUAGE_SPANISH */
744
745/* RETRO_LANGUAGE_GERMAN */
746
747/* RETRO_LANGUAGE_ITALIAN */
748
749/* RETRO_LANGUAGE_DUTCH */
750
751/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
752
753/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
754
755/* RETRO_LANGUAGE_RUSSIAN */
756
757/* RETRO_LANGUAGE_KOREAN */
758
759/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
760
761/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
762
763/* RETRO_LANGUAGE_ESPERANTO */
764
765/* RETRO_LANGUAGE_POLISH */
766
767/* RETRO_LANGUAGE_VIETNAMESE */
768
769/* RETRO_LANGUAGE_ARABIC */
770
771/* RETRO_LANGUAGE_GREEK */
772
773/* RETRO_LANGUAGE_TURKISH */
774
38114665
ÖK
775struct retro_core_option_definition option_defs_tr[] = {
776 {
777 "pcsx_rearmed_frameskip",
778 "Kare Atlama",
779 "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.",
780 {
781 { NULL, NULL },
782 },
783 NULL
784 },
785 {
786 "pcsx_rearmed_bios",
787 "BIOS Kullan",
788 "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.",
789 {
790 { "auto", "otomatik" },
791 { "HLE", "hle" },
792 { NULL, NULL},
793 },
794 "auto",
795 },
796 {
797 "pcsx_rearmed_region",
798 "Bölge",
799 "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.",
800 {
801 { "auto", "otomatik" },
802 { "NTSC", "ntsc" },
803 { "PAL", "pal" },
804 { NULL, NULL},
805 },
806 "auto",
807 },
808 {
809 "pcsx_rearmed_memcard2",
810 "İkinci Bellek Kartını Etkinleştir (Paylaşılan)",
811 "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.",
812 {
813 { NULL, NULL },
814 },
815 NULL
816 },
817 {
818 "pcsx_rearmed_pad1type",
819 "Kumanda 1 Tipi",
820 "1. Oyuncu için kontrolör tipi",
821 {
822 { "standard", NULL },
823 { "analog", NULL },
824 { "dualshock", NULL },
825 { "negcon", NULL },
826 { "none", "hiçbiri" },
827 { NULL, NULL},
828 },
829 "standard",
830 },
831 {
832 "pcsx_rearmed_pad2type",
833 "Kumanda 2 Tipi",
834 "2. Oyuncu için kontrolör tipi",
835 {
836 { "standard", NULL },
837 { "analog", NULL },
838 { "dualshock", NULL },
839 { "negcon", NULL },
840 { "none", "hiçbiri" },
841 { NULL, NULL},
842 },
843 "standard",
844 },
845 {
846 "pcsx_rearmed_pad3type",
847 "Kumanda 3 Tipi",
848 "3. Oyuncu için kontrolör tipi",
849 {
850 { "standard", NULL },
851 { "analog", NULL },
852 { "dualshock", NULL },
853 { "negcon", NULL },
854 { "none", "hiçbiri" },
855 { NULL, NULL},
856 },
857 "none",
858 },
859 {
860 "pcsx_rearmed_pad4type",
861 "Kumanda 4 Tipi",
862 "4. Oyuncu için kontrolör tipi",
863 {
864 { "standard", NULL },
865 { "analog", NULL },
866 { "dualshock", NULL },
867 { "negcon", NULL },
868 { "none", "hiçbiri" },
869 { NULL, NULL},
870 },
871 "none",
872 },
873 {
874 "pcsx_rearmed_pad5type",
875 "Kumanda 5 Tipi",
876 "5. Oyuncu için kontrolör tipi",
877 {
878 { "standard", NULL },
879 { "analog", NULL },
880 { "dualshock", NULL },
881 { "negcon", NULL },
882 { "none", "hiçbiri" },
883 { NULL, NULL},
884 },
885 "none",
886 },{
887 "pcsx_rearmed_pad6type",
888 "Kumanda 6 Tipi",
889 "6. Oyuncu için kontrolör tipi",
890 {
891 { "standard", NULL },
892 { "analog", NULL },
893 { "dualshock", NULL },
894 { "negcon", NULL },
895 { "none", "hiçbiri" },
896 { NULL, NULL},
897 },
898 "none",
899 },{
900 "pcsx_rearmed_pad7type",
901 "Kumanda 7 Tipi",
902 "7. Oyuncu için kontrolör tipi",
903 {
904 { "standard", NULL },
905 { "analog", NULL },
906 { "dualshock", NULL },
907 { "negcon", NULL },
908 { "none", "hiçbiri" },
909 { NULL, NULL},
910 },
911 "none",
912 },{
913 "pcsx_rearmed_pad8type",
914 "Kumanda 8 Tipi",
915 "8. Oyuncu için kontrolör tipi",
916 {
917 { "standard", NULL },
918 { "analog", NULL },
919 { "dualshock", NULL },
920 { "negcon", NULL },
921 { "none", "hiçbiri" },
922 { NULL, NULL},
923 },
924 "none",
925 },
926 {
927 "pcsx_rearmed_multitap1",
928 "Multitap 1",
929 "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.",
930 {
931 { "auto", "otomatik" },
932 { "disabled", NULL },
933 { "enabled", NULL },
934 { NULL, NULL},
935 },
936 "auto",
937 },
938 {
939 "pcsx_rearmed_multitap2",
940 "Multitap 2",
941 "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.",
942 {
943 { "auto", "otomatik" },
944 { "disabled", NULL },
945 { "enabled", NULL },
946 { NULL, NULL},
947 },
948 "auto",
949 },
950 {
951 "pcsx_rearmed_negcon_deadzone",
952 "NegCon Twist Deadzone (Yüzdelik)",
953 "Ö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.",
954 {
955 { NULL, NULL },
956 },
957 NULL
958 },
959 {
960 "pcsx_rearmed_negcon_response",
961 "NegCon Twist Response",
962 "Ö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.",
963 {
964 { NULL, NULL },
965 },
966 NULL
967 },
968 {
969 "pcsx_rearmed_vibration",
970 "Titreşimi Etkinleştir",
971 "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.",
972 {
973 { NULL, NULL },
974 },
975 NULL
976 },
977 {
978 "pcsx_rearmed_dithering",
979 "Dithering Etkinleştir",
980 "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.",
981 {
982 { NULL, NULL },
983 },
984 NULL
985 },
986
987#ifndef DRC_DISABLE
988 {
989 "pcsx_rearmed_drc",
990 "Dinamik Yeniden Derleyici",
991 "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.",
992 {
993 { NULL, NULL },
994 },
995 NULL
996 },
997 {
998 "pcsx_rearmed_psxclock",
999 "PSX CPU Saat Hızı",
1000 PSX_CLOCK_LABEL,
1001 {
1002 { NULL, NULL },
1003 },
1004 NULL
1005 },
1006#endif /* DRC_DISABLE */
1007
1008#ifdef __ARM_NEON__
1009 {
1010 "pcsx_rearmed_neon_interlace_enable",
1011 "Interlacing Mode'u etkinleştir",
1012 "Sahte tarama çizgileri efektini etkinleştirir.",
1013 {
1014 { NULL, NULL },
1015 },
1016 NULL
1017 },
1018 {
1019 "pcsx_rearmed_neon_enhancement_enable",
1020 "Geliştirilmiş Çözünürlük (Yavaş)",
1021 "Düşük performans pahasına çift çözünürlükte işler.",
1022 {
1023 { NULL, NULL },
1024 },
1025 NULL
1026 },
1027 {
1028 "pcsx_rearmed_neon_enhancement_no_main",
1029 "Geliştirilmiş Çözünürlük (Speed Hack)",
1030 "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).",
1031 {
1032 { NULL, NULL },
1033 },
1034 NULL
1035 },
1036#endif /* __ARM_NEON__ */
1037
1038 {
1039 "pcsx_rearmed_duping_enable",
1040 "Frame Duping",
1041 "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.",
1042 {
1043 { NULL, NULL },
1044 },
1045 NULL
1046 },
1047 {
1048 "pcsx_rearmed_display_internal_fps",
1049 "Dahili FPS'yi görüntüle",
1050 "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.",
1051 {
1052 { NULL, NULL },
1053 },
1054 NULL
1055 },
1056
1057 /* GPU PEOPS OPTIONS */
1058#ifdef DRC_DISABLE
1059 {
1060 "pcsx_rearmed_show_gpu_peops_settings",
1061 "Gelişmiş GPU Ayarlarını Göster",
1062 "Ç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.",
1063 {
1064 { NULL, NULL },
1065 },
1066 NULL
1067 },
1068 {
1069 "pcsx_rearmed_gpu_peops_fix_0",
1070 "(GPU) Odd/Even Bit Hack",
1071 "Chrono Cross için gerekli.",
1072 {
1073 { NULL, NULL },
1074 },
1075 NULL
1076 },
1077 {
1078 "pcsx_rearmed_gpu_peops_fix_1",
1079 "(GPU) Ekran Genişliğini Genişlet",
1080 "Capcom dövüş oyunları",
1081 {
1082 { NULL, NULL },
1083 },
1084 NULL
1085 },
1086 {
1087 "pcsx_rearmed_gpu_peops_fix_2",
1088 "(GPU) Parlaklık Rengini Yoksay",
1089 "Lunar Silver Star Story oyunlarında siyah ekran",
1090 {
1091 { NULL, NULL },
1092 },
1093 NULL
1094 },
1095 {
1096 "pcsx_rearmed_gpu_peops_fix_3",
1097 "(GPU) Koordinat Kontrolünü Devre Dışı Bırak",
1098 "Uyumluluk modu",
1099 {
1100 { NULL, NULL },
1101 },
1102 NULL
1103 },
1104 {
1105 "pcsx_rearmed_gpu_peops_fix_6",
1106 "(GPU) Tembel Ekran Güncellemesi",
1107 "Pandemonium 2",
1108 {
1109 { NULL, NULL },
1110 },
1111 NULL
1112 },
1113 {
1114 "pcsx_rearmed_gpu_peops_fix_7",
1115 "(GPU) Eski Çerçeve Atlama",
1116 "Her ikinci kareyi atla",
1117 {
1118 { NULL, NULL },
1119 },
1120 NULL
1121 },
1122 {
1123 "pcsx_rearmed_gpu_peops_fix_8",
1124 "(GPU) Tekrarlanan Düz Doku Üçgenleri",
1125 "Star Wars: Dark Forces için gerekli",
1126 {
1127 { NULL, NULL },
1128 },
1129 NULL
1130 },
1131 {
1132 "pcsx_rearmed_gpu_peops_fix_9",
1133 "(GPU) Üçgenler ile Dörtlü Çiz",
1134 "Daha iyi g renkler, daha kötü dokular",
1135 {
1136 { NULL, NULL },
1137 },
1138 NULL
1139 },
1140 {
1141 "pcsx_rearmed_gpu_peops_fix_10",
1142 "(GPU) Sahte 'Gpu Meşgul' Konumları",
1143 "Çizimden sonra meşgul bayraklarını değiştir",
1144 {
1145 { NULL, NULL },
1146 },
1147 NULL
1148 },
1149#endif
1150
1151 {
1152 "pcsx_rearmed_show_bios_bootlogo",
1153 "Bios Bootlogo'yu Göster",
1154 "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).",
1155 {
1156 { NULL, NULL },
1157 },
1158 NULL
1159 },
1160 {
1161 "pcsx_rearmed_spu_reverb",
1162 "Ses Yankısı",
1163 "Ses yankı efektini etkinleştirir veya devre dışı bırakır.",
1164 {
1165 { NULL, NULL },
1166 },
1167 NULL
1168 },
1169 {
1170 "pcsx_rearmed_spu_interpolation",
1171 "Ses Enterpolasyonu",
1172 NULL,
1173 {
1174 { NULL, NULL },
1175 },
1176 NULL
1177 },
1178 {
1179 "pcsx_rearmed_idiablofix",
1180 "Diablo Müzik Düzeltmesi",
1181 NULL,
1182 {
1183 { NULL, NULL },
1184 },
1185 NULL
1186 },
1187 {
1188 "pcsx_rearmed_pe2_fix",
1189 "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri",
1190 NULL,
1191 {
1192 { NULL, NULL },
1193 },
1194 NULL
1195 },
1196 {
1197 "pcsx_rearmed_inuyasha_fix",
1198 "InuYasha Sengoku Battle Düzeltmesi",
1199 NULL,
1200 {
1201 { NULL, NULL },
1202 },
1203 NULL
1204 },
1205
1206 /* ADVANCED OPTIONS */
1207 {
1208 "pcsx_rearmed_noxadecoding",
1209 "XA Kod Çözme",
1210 NULL,
1211 {
1212 { NULL, NULL },
1213 },
1214 NULL
1215 },
1216 {
1217 "pcsx_rearmed_nocdaudio",
1218 "CD Ses",
1219 NULL,
1220 {
1221 { NULL, NULL },
1222 },
1223 NULL
1224 },
1225
1226#ifndef DRC_DISABLE
1227 {
1228 "pcsx_rearmed_nosmccheck",
1229 "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak",
1230 "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.",
1231 {
1232 { NULL, NULL },
1233 },
1234 NULL
1235 },
1236 {
1237 "pcsx_rearmed_gteregsunneeded",
1238 "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın",
1239 "Grafiksel bozukluklara neden olabilir.",
1240 {
1241 { NULL, NULL },
1242 },
1243 NULL
1244 },
1245 {
1246 "pcsx_rearmed_nogteflags",
1247 "(Speed Hack) GTE Bayraklarını Devredışı Bırakın",
1248 "Grafiksel bozukluklara neden olur.",
1249 {
1250 { NULL, NULL },
1251 },
1252 NULL
1253 },
1254#endif /* DRC_DISABLE */
1255
0f288b5c 1256 { NULL, NULL, NULL, { {0} }, NULL },
38114665
ÖK
1257};
1258
1259
919cac88 1260/*
1261 ********************************
1262 * Language Mapping
1263 ********************************
1264*/
1265
1266struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
1267 option_defs_us, /* RETRO_LANGUAGE_ENGLISH */
1268 NULL, /* RETRO_LANGUAGE_JAPANESE */
1269 NULL, /* RETRO_LANGUAGE_FRENCH */
1270 NULL, /* RETRO_LANGUAGE_SPANISH */
1271 NULL, /* RETRO_LANGUAGE_GERMAN */
1272 NULL, /* RETRO_LANGUAGE_ITALIAN */
1273 NULL, /* RETRO_LANGUAGE_DUTCH */
1274 NULL, /* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
1275 NULL, /* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
1276 NULL, /* RETRO_LANGUAGE_RUSSIAN */
1277 NULL, /* RETRO_LANGUAGE_KOREAN */
1278 NULL, /* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
1279 NULL, /* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
1280 NULL, /* RETRO_LANGUAGE_ESPERANTO */
1281 NULL, /* RETRO_LANGUAGE_POLISH */
1282 NULL, /* RETRO_LANGUAGE_VIETNAMESE */
1283 NULL, /* RETRO_LANGUAGE_ARABIC */
1284 NULL, /* RETRO_LANGUAGE_GREEK */
859eae77 1285 option_defs_tr, /* RETRO_LANGUAGE_TURKISH */
919cac88 1286};
1287
1288/*
1289 ********************************
1290 * Functions
1291 ********************************
1292*/
1293
1294/* Handles configuration/setting of core options.
1295 * Should only be called inside retro_set_environment().
1296 * > We place the function body in the header to avoid the
1297 * necessity of adding more .c files (i.e. want this to
1298 * be as painless as possible for core devs)
1299 */
1300
1301static INLINE void libretro_set_core_options(retro_environment_t environ_cb)
1302{
1303 unsigned version = 0;
1304
1305 if (!environ_cb)
1306 return;
1307
1308 if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version == 1))
1309 {
1310 struct retro_core_options_intl core_options_intl;
1311 unsigned language = 0;
1312
1313 core_options_intl.us = option_defs_us;
1314 core_options_intl.local = NULL;
1315
1316 if (environ_cb(RETRO_ENVIRONMENT_GET_LANGUAGE, &language) &&
1317 (language < RETRO_LANGUAGE_LAST) && (language != RETRO_LANGUAGE_ENGLISH))
1318 core_options_intl.local = option_defs_intl[language];
1319
1320 environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl);
1321 }
1322 else
1323 {
1324 size_t i;
1325 size_t option_index = 0;
1326 size_t num_options = 0;
1327 struct retro_variable *variables = NULL;
1328 char **values_buf = NULL;
1329
1330 /* Determine number of options
1331 * > Note: We are going to skip a number of irrelevant
1332 * core options when building the retro_variable array,
1333 * but we'll allocate space for all of them. The difference
1334 * in resource usage is negligible, and this allows us to
1335 * keep the code 'cleaner' */
1336 while (true)
1337 {
1338 if (option_defs_us[num_options].key)
1339 num_options++;
1340 else
1341 break;
1342 }
1343
1344 /* Allocate arrays */
1345 variables = (struct retro_variable *)calloc(num_options + 1, sizeof(struct retro_variable));
1346 values_buf = (char **)calloc(num_options, sizeof(char *));
1347
1348 if (!variables || !values_buf)
1349 goto error;
1350
1351 /* Copy parameters from option_defs_us array */
1352 for (i = 0; i < num_options; i++)
1353 {
1354 const char *key = option_defs_us[i].key;
1355 const char *desc = option_defs_us[i].desc;
1356 const char *default_value = option_defs_us[i].default_value;
1357 struct retro_core_option_value *values = option_defs_us[i].values;
1358 size_t buf_len = 3;
1359 size_t default_index = 0;
1360
1361 values_buf[i] = NULL;
1362
1363 /* Skip options that are irrelevant when using the
1364 * old style core options interface */
c8108d88 1365 if ((strcmp(key, "pcsx_rearmed_show_gpu_peops_settings") == 0))
919cac88 1366 continue;
1367
1368 if (desc)
1369 {
1370 size_t num_values = 0;
1371
1372 /* Determine number of values */
1373 while (true)
1374 {
1375 if (values[num_values].value)
1376 {
1377 /* Check if this is the default value */
1378 if (default_value)
1379 if (strcmp(values[num_values].value, default_value) == 0)
1380 default_index = num_values;
1381
1382 buf_len += strlen(values[num_values].value);
1383 num_values++;
1384 }
1385 else
1386 break;
1387 }
1388
1389 /* Build values string */
1390 if (num_values > 1)
1391 {
1392 size_t j;
1393
1394 buf_len += num_values - 1;
1395 buf_len += strlen(desc);
1396
1397 values_buf[i] = (char *)calloc(buf_len, sizeof(char));
1398 if (!values_buf[i])
1399 goto error;
1400
1401 strcpy(values_buf[i], desc);
1402 strcat(values_buf[i], "; ");
1403
1404 /* Default value goes first */
1405 strcat(values_buf[i], values[default_index].value);
1406
1407 /* Add remaining values */
1408 for (j = 0; j < num_values; j++)
1409 {
1410 if (j != default_index)
1411 {
1412 strcat(values_buf[i], "|");
1413 strcat(values_buf[i], values[j].value);
1414 }
1415 }
1416 }
1417 }
1418
1419 variables[option_index].key = key;
1420 variables[option_index].value = values_buf[i];
1421 option_index++;
1422 }
1423
1424 /* Set variables */
1425 environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, variables);
1426
1427error:
1428
1429 /* Clean up */
1430 if (values_buf)
1431 {
1432 for (i = 0; i < num_options; i++)
1433 {
1434 if (values_buf[i])
1435 {
1436 free(values_buf[i]);
1437 values_buf[i] = NULL;
1438 }
1439 }
1440
1441 free(values_buf);
1442 values_buf = NULL;
1443 }
1444
1445 if (variables)
1446 {
1447 free(variables);
1448 variables = NULL;
1449 }
1450 }
1451}
1452
1453#ifdef __cplusplus
1454}
1455#endif
1456
1457#endif