Merge pull request #325 from retro-wertz/SysPrintf_to_retro_log
[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
919cac88 537 {
538 "pcsx_rearmed_show_bios_bootlogo",
539 "Show Bios Bootlogo",
ef2683f1 540 "When enabled, shows the PlayStation logo when starting or resetting. (Breaks some games).",
919cac88 541 {
542 { "disabled", NULL },
543 { "enabled", NULL },
544 { NULL, NULL},
545 },
546 "disabled",
547 },
548 {
549 "pcsx_rearmed_spu_reverb",
550 "Sound Reverb",
551 "Enables or disables audio reverb effect.",
552 {
553 { "disabled", NULL },
554 { "enabled", NULL },
555 { NULL, NULL},
556 },
557 "enabled",
558 },
559 {
560 "pcsx_rearmed_spu_interpolation",
c8108d88 561 "Sound Interpolation",
919cac88 562 NULL,
563 {
564 { "simple", NULL },
565 { "gaussian", NULL },
566 { "cubic", NULL },
567 { "off", NULL },
568 { NULL, NULL},
569 },
570 "simple",
571 },
572 {
573 "pcsx_rearmed_idiablofix",
574 "Diablo Music Fix",
575 NULL,
576 {
577 { "disabled", NULL },
578 { "enabled", NULL },
579 { NULL, NULL},
580 },
581 "disabled",
582 },
583 {
584 "pcsx_rearmed_pe2_fix",
585 "Parasite Eve 2/Vandal Hearts 1/2 Fix",
586 NULL,
587 {
588 { "disabled", NULL },
589 { "enabled", NULL },
590 { NULL, NULL},
591 },
592 "disabled",
593 },
594 {
595 "pcsx_rearmed_inuyasha_fix",
596 "InuYasha Sengoku Battle Fix",
597 NULL,
598 {
599 { "disabled", NULL },
600 { "enabled", NULL },
601 { NULL, NULL},
602 },
603 "disabled",
604 },
605
606 /* ADVANCED OPTIONS */
607 {
608 "pcsx_rearmed_noxadecoding",
609 "XA Decoding",
610 NULL,
611 {
612 { "disabled", NULL },
613 { "enabled", NULL },
614 { NULL, NULL},
615 },
616 "enabled",
617 },
618 {
619 "pcsx_rearmed_nocdaudio",
620 "CD Audio",
621 NULL,
622 {
623 { "disabled", NULL },
624 { "enabled", NULL },
625 { NULL, NULL},
626 },
627 "enabled",
628 },
629
630#ifndef DRC_DISABLE
631 {
632 "pcsx_rearmed_nosmccheck",
633 "(Speed Hack) Disable SMC Checks",
634 "Will cause crashes when loading, break memcards.",
635 {
636 { "disabled", NULL },
637 { "enabled", NULL },
638 { NULL, NULL},
639 },
640 "disabled",
641 },
642 {
643 "pcsx_rearmed_gteregsunneeded",
644 "(Speed Hack) Assume GTE Regs Unneeded",
645 "May cause graphical glitches.",
646 {
647 { "disabled", NULL },
648 { "enabled", NULL },
649 { NULL, NULL},
650 },
651 "disabled",
652 },
653 {
654 "pcsx_rearmed_nogteflags",
655 "(Speed Hack) Disable GTE Flags",
656 "Will cause graphical glitches.",
657 {
658 { "disabled", NULL },
659 { "enabled", NULL },
660 { NULL, NULL},
661 },
662 "disabled",
663 },
664#endif /* DRC_DISABLE */
665
0f288b5c 666 { NULL, NULL, NULL, { {0} }, NULL },
919cac88 667};
668
669/* RETRO_LANGUAGE_JAPANESE */
670
671/* RETRO_LANGUAGE_FRENCH */
672
673/* RETRO_LANGUAGE_SPANISH */
674
675/* RETRO_LANGUAGE_GERMAN */
676
677/* RETRO_LANGUAGE_ITALIAN */
678
679/* RETRO_LANGUAGE_DUTCH */
680
681/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
682
683/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
684
685/* RETRO_LANGUAGE_RUSSIAN */
686
687/* RETRO_LANGUAGE_KOREAN */
688
689/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
690
691/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
692
693/* RETRO_LANGUAGE_ESPERANTO */
694
695/* RETRO_LANGUAGE_POLISH */
696
697/* RETRO_LANGUAGE_VIETNAMESE */
698
699/* RETRO_LANGUAGE_ARABIC */
700
701/* RETRO_LANGUAGE_GREEK */
702
703/* RETRO_LANGUAGE_TURKISH */
704
38114665
ÖK
705struct retro_core_option_definition option_defs_tr[] = {
706 {
707 "pcsx_rearmed_frameskip",
708 "Kare Atlama",
709 "Görsel pürüzsüzlük pahasına performansı artırmak için ne kadar karenin atlanması gerektiğini seçin.",
710 {
711 { NULL, NULL },
712 },
713 NULL
714 },
715 {
716 "pcsx_rearmed_bios",
717 "BIOS Kullan",
718 "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.",
719 {
720 { "auto", "otomatik" },
721 { "HLE", "hle" },
722 { NULL, NULL},
723 },
724 "auto",
725 },
726 {
727 "pcsx_rearmed_region",
728 "Bölge",
729 "Sistemin hangi bölgeden olduğunu seçin. NTSC için 60 Hz, PAL için 50 Hz.",
730 {
731 { "auto", "otomatik" },
732 { "NTSC", "ntsc" },
733 { "PAL", "pal" },
734 { NULL, NULL},
735 },
736 "auto",
737 },
738 {
739 "pcsx_rearmed_memcard2",
740 "İkinci Bellek Kartını Etkinleştir (Paylaşılan)",
741 "2. Hafıza kartı yuvasını etkinleştirin. Bu hafıza kartı tüm oyunlar arasında paylaşılır.",
742 {
743 { NULL, NULL },
744 },
745 NULL
746 },
747 {
748 "pcsx_rearmed_pad1type",
749 "Kumanda 1 Tipi",
750 "1. Oyuncu için kontrolör tipi",
751 {
752 { "standard", NULL },
753 { "analog", NULL },
754 { "dualshock", NULL },
755 { "negcon", NULL },
756 { "none", "hiçbiri" },
757 { NULL, NULL},
758 },
759 "standard",
760 },
761 {
762 "pcsx_rearmed_pad2type",
763 "Kumanda 2 Tipi",
764 "2. Oyuncu için kontrolör tipi",
765 {
766 { "standard", NULL },
767 { "analog", NULL },
768 { "dualshock", NULL },
769 { "negcon", NULL },
770 { "none", "hiçbiri" },
771 { NULL, NULL},
772 },
773 "standard",
774 },
775 {
776 "pcsx_rearmed_pad3type",
777 "Kumanda 3 Tipi",
778 "3. Oyuncu için kontrolör tipi",
779 {
780 { "standard", NULL },
781 { "analog", NULL },
782 { "dualshock", NULL },
783 { "negcon", NULL },
784 { "none", "hiçbiri" },
785 { NULL, NULL},
786 },
787 "none",
788 },
789 {
790 "pcsx_rearmed_pad4type",
791 "Kumanda 4 Tipi",
792 "4. Oyuncu için kontrolör tipi",
793 {
794 { "standard", NULL },
795 { "analog", NULL },
796 { "dualshock", NULL },
797 { "negcon", NULL },
798 { "none", "hiçbiri" },
799 { NULL, NULL},
800 },
801 "none",
802 },
803 {
804 "pcsx_rearmed_pad5type",
805 "Kumanda 5 Tipi",
806 "5. Oyuncu için kontrolör tipi",
807 {
808 { "standard", NULL },
809 { "analog", NULL },
810 { "dualshock", NULL },
811 { "negcon", NULL },
812 { "none", "hiçbiri" },
813 { NULL, NULL},
814 },
815 "none",
816 },{
817 "pcsx_rearmed_pad6type",
818 "Kumanda 6 Tipi",
819 "6. Oyuncu için kontrolör tipi",
820 {
821 { "standard", NULL },
822 { "analog", NULL },
823 { "dualshock", NULL },
824 { "negcon", NULL },
825 { "none", "hiçbiri" },
826 { NULL, NULL},
827 },
828 "none",
829 },{
830 "pcsx_rearmed_pad7type",
831 "Kumanda 7 Tipi",
832 "7. Oyuncu için kontrolör tipi",
833 {
834 { "standard", NULL },
835 { "analog", NULL },
836 { "dualshock", NULL },
837 { "negcon", NULL },
838 { "none", "hiçbiri" },
839 { NULL, NULL},
840 },
841 "none",
842 },{
843 "pcsx_rearmed_pad8type",
844 "Kumanda 8 Tipi",
845 "8. Oyuncu için kontrolör tipi",
846 {
847 { "standard", NULL },
848 { "analog", NULL },
849 { "dualshock", NULL },
850 { "negcon", NULL },
851 { "none", "hiçbiri" },
852 { NULL, NULL},
853 },
854 "none",
855 },
856 {
857 "pcsx_rearmed_multitap1",
858 "Multitap 1",
859 "Bağlantı noktası 1'deki multitap'ı etkinleştirir / devre dışı bırakır ve izin veren oyunlarda 5 oyuncuya kadar izin verir.",
860 {
861 { "auto", "otomatik" },
862 { "disabled", NULL },
863 { "enabled", NULL },
864 { NULL, NULL},
865 },
866 "auto",
867 },
868 {
869 "pcsx_rearmed_multitap2",
870 "Multitap 2",
871 "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.",
872 {
873 { "auto", "otomatik" },
874 { "disabled", NULL },
875 { "enabled", NULL },
876 { NULL, NULL},
877 },
878 "auto",
879 },
880 {
881 "pcsx_rearmed_negcon_deadzone",
882 "NegCon Twist Deadzone (Yüzdelik)",
883 "Ö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.",
884 {
885 { NULL, NULL },
886 },
887 NULL
888 },
889 {
890 "pcsx_rearmed_negcon_response",
891 "NegCon Twist Response",
892 "Ö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.",
893 {
894 { NULL, NULL },
895 },
896 NULL
897 },
898 {
899 "pcsx_rearmed_vibration",
900 "Titreşimi Etkinleştir",
901 "Titreşim özelliklerini destekleyen kontrolörler için titreşim geri bildirimini etkinleştirir.",
902 {
903 { NULL, NULL },
904 },
905 NULL
906 },
907 {
908 "pcsx_rearmed_dithering",
909 "Dithering Etkinleştir",
910 "Kapalı ise, PSX'in renk bantlarıyla mücadele etmek için uyguladığı renk taklidi düzenini devre dışı bırakır.",
911 {
912 { NULL, NULL },
913 },
914 NULL
915 },
916
917#ifndef DRC_DISABLE
918 {
919 "pcsx_rearmed_drc",
920 "Dinamik Yeniden Derleyici",
921 "Çekirdeğin dinamik yeniden derleyici veya tercüman(daha yavaş) CPU talimatlarını kullanmasını sağlar.",
922 {
923 { NULL, NULL },
924 },
925 NULL
926 },
927 {
928 "pcsx_rearmed_psxclock",
929 "PSX CPU Saat Hızı",
930 PSX_CLOCK_LABEL,
931 {
932 { NULL, NULL },
933 },
934 NULL
935 },
936#endif /* DRC_DISABLE */
937
938#ifdef __ARM_NEON__
939 {
940 "pcsx_rearmed_neon_interlace_enable",
941 "Interlacing Mode'u etkinleştir",
942 "Sahte tarama çizgileri efektini etkinleştirir.",
943 {
944 { NULL, NULL },
945 },
946 NULL
947 },
948 {
949 "pcsx_rearmed_neon_enhancement_enable",
950 "Geliştirilmiş Çözünürlük (Yavaş)",
951 "Düşük performans pahasına çift çözünürlükte işler.",
952 {
953 { NULL, NULL },
954 },
955 NULL
956 },
957 {
958 "pcsx_rearmed_neon_enhancement_no_main",
959 "Geliştirilmiş Çözünürlük (Speed Hack)",
960 "Geliştirilmiş çözünürlük seçeneği için hız aşırtma(bazı oyunlarda sorun çıkartabilir).",
961 {
962 { NULL, NULL },
963 },
964 NULL
965 },
966#endif /* __ARM_NEON__ */
967
968 {
969 "pcsx_rearmed_duping_enable",
970 "Frame Duping",
971 "Yeni bir veri yoksa, bir hızlandırma, son kareyi yeniden çizer/yeniden kullanır.",
972 {
973 { NULL, NULL },
974 },
975 NULL
976 },
977 {
978 "pcsx_rearmed_display_internal_fps",
979 "Dahili FPS'yi görüntüle",
980 "Etkinleştirildiğinde ekranda saniye başına kareyi gösterir.",
981 {
982 { NULL, NULL },
983 },
984 NULL
985 },
986
987 /* GPU PEOPS OPTIONS */
988#ifdef DRC_DISABLE
989 {
990 "pcsx_rearmed_show_gpu_peops_settings",
991 "Gelişmiş GPU Ayarlarını Göster",
992 "Ç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.",
993 {
994 { NULL, NULL },
995 },
996 NULL
997 },
998 {
999 "pcsx_rearmed_gpu_peops_fix_0",
1000 "(GPU) Odd/Even Bit Hack",
1001 "Chrono Cross için gerekli.",
1002 {
1003 { NULL, NULL },
1004 },
1005 NULL
1006 },
1007 {
1008 "pcsx_rearmed_gpu_peops_fix_1",
1009 "(GPU) Ekran Genişliğini Genişlet",
1010 "Capcom dövüş oyunları",
1011 {
1012 { NULL, NULL },
1013 },
1014 NULL
1015 },
1016 {
1017 "pcsx_rearmed_gpu_peops_fix_2",
1018 "(GPU) Parlaklık Rengini Yoksay",
1019 "Lunar Silver Star Story oyunlarında siyah ekran",
1020 {
1021 { NULL, NULL },
1022 },
1023 NULL
1024 },
1025 {
1026 "pcsx_rearmed_gpu_peops_fix_3",
1027 "(GPU) Koordinat Kontrolünü Devre Dışı Bırak",
1028 "Uyumluluk modu",
1029 {
1030 { NULL, NULL },
1031 },
1032 NULL
1033 },
1034 {
1035 "pcsx_rearmed_gpu_peops_fix_6",
1036 "(GPU) Tembel Ekran Güncellemesi",
1037 "Pandemonium 2",
1038 {
1039 { NULL, NULL },
1040 },
1041 NULL
1042 },
1043 {
1044 "pcsx_rearmed_gpu_peops_fix_7",
1045 "(GPU) Eski Çerçeve Atlama",
1046 "Her ikinci kareyi atla",
1047 {
1048 { NULL, NULL },
1049 },
1050 NULL
1051 },
1052 {
1053 "pcsx_rearmed_gpu_peops_fix_8",
1054 "(GPU) Tekrarlanan Düz Doku Üçgenleri",
1055 "Star Wars: Dark Forces için gerekli",
1056 {
1057 { NULL, NULL },
1058 },
1059 NULL
1060 },
1061 {
1062 "pcsx_rearmed_gpu_peops_fix_9",
1063 "(GPU) Üçgenler ile Dörtlü Çiz",
1064 "Daha iyi g renkler, daha kötü dokular",
1065 {
1066 { NULL, NULL },
1067 },
1068 NULL
1069 },
1070 {
1071 "pcsx_rearmed_gpu_peops_fix_10",
1072 "(GPU) Sahte 'Gpu Meşgul' Konumları",
1073 "Çizimden sonra meşgul bayraklarını değiştir",
1074 {
1075 { NULL, NULL },
1076 },
1077 NULL
1078 },
1079#endif
1080
1081 {
1082 "pcsx_rearmed_show_bios_bootlogo",
1083 "Bios Bootlogo'yu Göster",
1084 "Etkinleştirildiğinde, başlatırken veya sıfırlarken PlayStation logosunu gösterir. (Bazı oyunları bozabilir).",
1085 {
1086 { NULL, NULL },
1087 },
1088 NULL
1089 },
1090 {
1091 "pcsx_rearmed_spu_reverb",
1092 "Ses Yankısı",
1093 "Ses yankı efektini etkinleştirir veya devre dışı bırakır.",
1094 {
1095 { NULL, NULL },
1096 },
1097 NULL
1098 },
1099 {
1100 "pcsx_rearmed_spu_interpolation",
1101 "Ses Enterpolasyonu",
1102 NULL,
1103 {
1104 { NULL, NULL },
1105 },
1106 NULL
1107 },
1108 {
1109 "pcsx_rearmed_idiablofix",
1110 "Diablo Müzik Düzeltmesi",
1111 NULL,
1112 {
1113 { NULL, NULL },
1114 },
1115 NULL
1116 },
1117 {
1118 "pcsx_rearmed_pe2_fix",
1119 "Parasite Eve 2/Vandal Hearts 1/2 Düzeltmleri",
1120 NULL,
1121 {
1122 { NULL, NULL },
1123 },
1124 NULL
1125 },
1126 {
1127 "pcsx_rearmed_inuyasha_fix",
1128 "InuYasha Sengoku Battle Düzeltmesi",
1129 NULL,
1130 {
1131 { NULL, NULL },
1132 },
1133 NULL
1134 },
1135
1136 /* ADVANCED OPTIONS */
1137 {
1138 "pcsx_rearmed_noxadecoding",
1139 "XA Kod Çözme",
1140 NULL,
1141 {
1142 { NULL, NULL },
1143 },
1144 NULL
1145 },
1146 {
1147 "pcsx_rearmed_nocdaudio",
1148 "CD Ses",
1149 NULL,
1150 {
1151 { NULL, NULL },
1152 },
1153 NULL
1154 },
1155
1156#ifndef DRC_DISABLE
1157 {
1158 "pcsx_rearmed_nosmccheck",
1159 "(Speed Hack) SMC Kontrollerini Devre Dışı Bırak",
1160 "Yükleme sırasında çökmelere neden olabilir, hafıza kartını bozabilir.",
1161 {
1162 { NULL, NULL },
1163 },
1164 NULL
1165 },
1166 {
1167 "pcsx_rearmed_gteregsunneeded",
1168 "(Speed Hack) GTE'nin Gereksiz Olduğunu Varsayın",
1169 "Grafiksel bozukluklara neden olabilir.",
1170 {
1171 { NULL, NULL },
1172 },
1173 NULL
1174 },
1175 {
1176 "pcsx_rearmed_nogteflags",
1177 "(Speed Hack) GTE Bayraklarını Devredışı Bırakın",
1178 "Grafiksel bozukluklara neden olur.",
1179 {
1180 { NULL, NULL },
1181 },
1182 NULL
1183 },
1184#endif /* DRC_DISABLE */
1185
0f288b5c 1186 { NULL, NULL, NULL, { {0} }, NULL },
38114665
ÖK
1187};
1188
1189
919cac88 1190/*
1191 ********************************
1192 * Language Mapping
1193 ********************************
1194*/
1195
1196struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
1197 option_defs_us, /* RETRO_LANGUAGE_ENGLISH */
1198 NULL, /* RETRO_LANGUAGE_JAPANESE */
1199 NULL, /* RETRO_LANGUAGE_FRENCH */
1200 NULL, /* RETRO_LANGUAGE_SPANISH */
1201 NULL, /* RETRO_LANGUAGE_GERMAN */
1202 NULL, /* RETRO_LANGUAGE_ITALIAN */
1203 NULL, /* RETRO_LANGUAGE_DUTCH */
1204 NULL, /* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
1205 NULL, /* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
1206 NULL, /* RETRO_LANGUAGE_RUSSIAN */
1207 NULL, /* RETRO_LANGUAGE_KOREAN */
1208 NULL, /* RETRO_LANGUAGE_CHINESE_TRADITIONAL */
1209 NULL, /* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */
1210 NULL, /* RETRO_LANGUAGE_ESPERANTO */
1211 NULL, /* RETRO_LANGUAGE_POLISH */
1212 NULL, /* RETRO_LANGUAGE_VIETNAMESE */
1213 NULL, /* RETRO_LANGUAGE_ARABIC */
1214 NULL, /* RETRO_LANGUAGE_GREEK */
859eae77 1215 option_defs_tr, /* RETRO_LANGUAGE_TURKISH */
919cac88 1216};
1217
1218/*
1219 ********************************
1220 * Functions
1221 ********************************
1222*/
1223
1224/* Handles configuration/setting of core options.
1225 * Should only be called inside retro_set_environment().
1226 * > We place the function body in the header to avoid the
1227 * necessity of adding more .c files (i.e. want this to
1228 * be as painless as possible for core devs)
1229 */
1230
1231static INLINE void libretro_set_core_options(retro_environment_t environ_cb)
1232{
1233 unsigned version = 0;
1234
1235 if (!environ_cb)
1236 return;
1237
1238 if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version == 1))
1239 {
1240 struct retro_core_options_intl core_options_intl;
1241 unsigned language = 0;
1242
1243 core_options_intl.us = option_defs_us;
1244 core_options_intl.local = NULL;
1245
1246 if (environ_cb(RETRO_ENVIRONMENT_GET_LANGUAGE, &language) &&
1247 (language < RETRO_LANGUAGE_LAST) && (language != RETRO_LANGUAGE_ENGLISH))
1248 core_options_intl.local = option_defs_intl[language];
1249
1250 environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl);
1251 }
1252 else
1253 {
1254 size_t i;
1255 size_t option_index = 0;
1256 size_t num_options = 0;
1257 struct retro_variable *variables = NULL;
1258 char **values_buf = NULL;
1259
1260 /* Determine number of options
1261 * > Note: We are going to skip a number of irrelevant
1262 * core options when building the retro_variable array,
1263 * but we'll allocate space for all of them. The difference
1264 * in resource usage is negligible, and this allows us to
1265 * keep the code 'cleaner' */
1266 while (true)
1267 {
1268 if (option_defs_us[num_options].key)
1269 num_options++;
1270 else
1271 break;
1272 }
1273
1274 /* Allocate arrays */
1275 variables = (struct retro_variable *)calloc(num_options + 1, sizeof(struct retro_variable));
1276 values_buf = (char **)calloc(num_options, sizeof(char *));
1277
1278 if (!variables || !values_buf)
1279 goto error;
1280
1281 /* Copy parameters from option_defs_us array */
1282 for (i = 0; i < num_options; i++)
1283 {
1284 const char *key = option_defs_us[i].key;
1285 const char *desc = option_defs_us[i].desc;
1286 const char *default_value = option_defs_us[i].default_value;
1287 struct retro_core_option_value *values = option_defs_us[i].values;
1288 size_t buf_len = 3;
1289 size_t default_index = 0;
1290
1291 values_buf[i] = NULL;
1292
1293 /* Skip options that are irrelevant when using the
1294 * old style core options interface */
c8108d88 1295 if ((strcmp(key, "pcsx_rearmed_show_gpu_peops_settings") == 0))
919cac88 1296 continue;
1297
1298 if (desc)
1299 {
1300 size_t num_values = 0;
1301
1302 /* Determine number of values */
1303 while (true)
1304 {
1305 if (values[num_values].value)
1306 {
1307 /* Check if this is the default value */
1308 if (default_value)
1309 if (strcmp(values[num_values].value, default_value) == 0)
1310 default_index = num_values;
1311
1312 buf_len += strlen(values[num_values].value);
1313 num_values++;
1314 }
1315 else
1316 break;
1317 }
1318
1319 /* Build values string */
1320 if (num_values > 1)
1321 {
1322 size_t j;
1323
1324 buf_len += num_values - 1;
1325 buf_len += strlen(desc);
1326
1327 values_buf[i] = (char *)calloc(buf_len, sizeof(char));
1328 if (!values_buf[i])
1329 goto error;
1330
1331 strcpy(values_buf[i], desc);
1332 strcat(values_buf[i], "; ");
1333
1334 /* Default value goes first */
1335 strcat(values_buf[i], values[default_index].value);
1336
1337 /* Add remaining values */
1338 for (j = 0; j < num_values; j++)
1339 {
1340 if (j != default_index)
1341 {
1342 strcat(values_buf[i], "|");
1343 strcat(values_buf[i], values[j].value);
1344 }
1345 }
1346 }
1347 }
1348
1349 variables[option_index].key = key;
1350 variables[option_index].value = values_buf[i];
1351 option_index++;
1352 }
1353
1354 /* Set variables */
1355 environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, variables);
1356
1357error:
1358
1359 /* Clean up */
1360 if (values_buf)
1361 {
1362 for (i = 0; i < num_options; i++)
1363 {
1364 if (values_buf[i])
1365 {
1366 free(values_buf[i]);
1367 values_buf[i] = NULL;
1368 }
1369 }
1370
1371 free(values_buf);
1372 values_buf = NULL;
1373 }
1374
1375 if (variables)
1376 {
1377 free(variables);
1378 variables = NULL;
1379 }
1380 }
1381}
1382
1383#ifdef __cplusplus
1384}
1385#endif
1386
1387#endif