Skip to content

Commit 7e97bb5

Browse files
authored
Merge pull request #738 from ds22x/master
[Libretro] Create a separate aspect ratio option for "4:3 Preserved"
2 parents 1041ff3 + 054e2f5 commit 7e97bb5

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

libretro/libretro.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ static int g_screen_gun_height = SNES_HEIGHT;
4949
#define RETRO_GAME_TYPE_MULTI_CART 0x105 | 0x1000
5050

5151

52+
#define SNES_4_3 4.0f / 3.0f
53+
5254
uint16 *screen_buffer = NULL;
5355

5456
char g_rom_dir[1024];
@@ -144,6 +146,7 @@ enum overscan_mode {
144146
};
145147
enum aspect_mode {
146148
ASPECT_RATIO_4_3,
149+
ASPECT_RATIO_4_3_SCALED,
147150
ASPECT_RATIO_1_1,
148151
ASPECT_RATIO_NTSC,
149152
ASPECT_RATIO_PAL,
@@ -460,6 +463,8 @@ static void update_variables(void)
460463
newval = ASPECT_RATIO_PAL;
461464
else if (strcmp(var.value, "4:3") == 0)
462465
newval = ASPECT_RATIO_4_3;
466+
else if (strcmp(var.value, "4:3 scaled") == 0)
467+
newval = ASPECT_RATIO_4_3_SCALED;
463468
else if (strcmp(var.value, "uncorrected") == 0)
464469
newval = ASPECT_RATIO_1_1;
465470

@@ -785,6 +790,10 @@ void retro_get_system_info(struct retro_system_info *info)
785790
float get_aspect_ratio(unsigned width, unsigned height)
786791
{
787792
if (aspect_ratio_mode == ASPECT_RATIO_4_3)
793+
{
794+
return SNES_4_3;
795+
}
796+
else if (aspect_ratio_mode == ASPECT_RATIO_4_3_SCALED)
788797
{
789798
return (4.0f * (MAX_SNES_HEIGHT - height)) / (3.0f * (MAX_SNES_WIDTH - width));
790799
}

libretro/libretro_core_options.h

+1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ struct retro_core_option_definition option_defs_us[] = {
7272
"Choose the preferred content aspect ratio. This will only apply when RetroArch's aspect ratio is set to 'Core provided' in the Video settings.",
7373
{
7474
{ "4:3", NULL },
75+
{ "4:3 scaled", "4:3 (Preserved)" },
7576
{ "uncorrected", "Uncorrected" },
7677
{ "auto", "Auto" },
7778
{ "ntsc", "NTSC" },

libretro/libretro_core_options_intl.h

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ struct retro_core_option_definition option_defs_tr[] = {
9696
"Tercih edilen içerik en boy oranını seçin. Bu, yalnızca RetroArch’ın en boy oranı Video ayarlarında 'Core tarafından' olarak ayarlandığında uygulanacaktır.",
9797
{
9898
{ "4:3", NULL },
99+
{ "4:3 scaled", "4:3 (Korunmuş)" },
99100
{ "uncorrected", "Düzeltilmemiş" },
100101
{ "auto", "Otomatik" },
101102
{ "ntsc", "NTSC" },

0 commit comments

Comments
 (0)