1
0
mirror of https://github.com/libretro/RetroArch synced 2025-03-18 13:20:57 +00:00

Merge pull request from libretro/master

Update
This commit is contained in:
alphanu1 2018-09-23 19:39:05 +01:00 committed by GitHub
commit 0da456e48c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
55 changed files with 1748 additions and 1114 deletions

@ -288,6 +288,7 @@ static cheevos_locals_t cheevos_locals =
bool cheevos_loaded = false;
bool cheevos_hardcore_active = false;
bool cheevos_hardcore_paused = false;
bool cheevos_state_loaded_flag = false;
int cheats_are_enabled = 0;
int cheats_were_enabled = 0;
@ -2265,11 +2266,15 @@ bool cheevos_toggle_hardcore_mode(void)
return false;
/* reset and deinit rewind to avoid cheat the score */
if (settings->bools.cheevos_hardcore_mode_enable && !cheevos_hardcore_paused)
if (settings->bools.cheevos_hardcore_mode_enable
&& !cheevos_hardcore_paused)
{
const char *msg = msg_hash_to_str(
MSG_CHEEVOS_HARDCORE_MODE_ENABLE);
/* reset the state loaded flag in case it was set */
cheevos_state_loaded_flag = false;
/* send reset core cmd to avoid any user
* savestate previusly loaded. */
command_event(CMD_EVENT_RESET, NULL);

@ -155,8 +155,10 @@ cheevos_console_t cheevos_get_console(void);
extern bool cheevos_loaded;
extern bool cheevos_hardcore_active;
extern bool cheevos_hardcore_paused;
extern bool cheevos_state_loaded_flag;
extern int cheats_are_enabled;
extern int cheats_were_enabled;
;
RETRO_END_DECLS

@ -1675,6 +1675,9 @@ static bool command_event_main_state(unsigned cmd)
case CMD_EVENT_LOAD_STATE:
if (content_load_state(state_path, false, false))
{
#ifdef HAVE_CHEEVOS
cheevos_state_loaded_flag = true;
#endif
ret = true;
#ifdef HAVE_NETWORKING
netplay_driver_ctl(RARCH_NETPLAY_CTL_LOAD_SAVESTATE, NULL);
@ -1905,6 +1908,10 @@ bool command_event(enum event_command cmd, void *data)
command_event_init_controllers();
break;
case CMD_EVENT_RESET:
#ifdef HAVE_CHEEVOS
cheevos_state_loaded_flag = false;
cheevos_hardcore_paused = false;
#endif
RARCH_LOG("%s.\n", msg_hash_to_str(MSG_RESET));
runloop_msg_queue_push(msg_hash_to_str(MSG_RESET), 1, 120, true);

@ -148,6 +148,8 @@ static const bool vsync = true;
static const unsigned max_swapchain_images = 3;
static const bool adaptive_vsync = true;
/* Attempts to hard-synchronize CPU and GPU.
* Can reduce latency at cost of performance. */
static const bool hard_sync = false;

@ -1315,7 +1315,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
SETTING_BOOL("video_fullscreen", &settings->bools.video_fullscreen, true, fullscreen, false);
SETTING_BOOL("bundle_assets_extract_enable", &settings->bools.bundle_assets_extract_enable, true, bundle_assets_extract_enable, false);
SETTING_BOOL("video_vsync", &settings->bools.video_vsync, true, vsync, false);
SETTING_BOOL("video_adaptive_vsync", &settings->bools.video_adaptive_vsync, true, false, false);
SETTING_BOOL("video_adaptive_vsync", &settings->bools.video_adaptive_vsync, true, adaptive_vsync, false);
SETTING_BOOL("video_hard_sync", &settings->bools.video_hard_sync, true, hard_sync, false);
SETTING_BOOL("video_black_frame_insertion", &settings->bools.video_black_frame_insertion, true, black_frame_insertion, false);
SETTING_BOOL("video_disable_composition", &settings->bools.video_disable_composition, true, disable_composition, false);

@ -126,51 +126,25 @@ typedef struct Hints
} Hints;
/* We use long because X11 wants 32-bit pixels for 32-bit systems and 64 for 64... */
/* ARGB*/
static const unsigned long retroarch_icon_data[] = {
16, 16,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0x00000000,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff, 0xffffffff,
0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff, 0x000000ff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff,
0x000000ff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0xffffffff, 0x000000ff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff,
0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff,
0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0xffffffff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff,
0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000
0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
0x00000000,0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,0x00000000,
0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
};
#ifdef HAVE_OPENGL

@ -241,6 +241,8 @@ MSG_HASH(MENU_ENUM_LABEL_DATABASE_MANAGER,
"database_manager")
MSG_HASH(MENU_ENUM_LABEL_DATABASE_MANAGER_LIST,
"database_manager_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST,
"deferred_dropdown_box_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
"deferred_configurations_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST,

@ -3711,7 +3711,7 @@ MSG_HASH(
)
MSG_HASH(
MSG_CHEEVOS_HARDCORE_MODE_ENABLE,
"Hardcore Mode Enabled, savestate & rewind were disabled."
"Achievements Hardcore Mode Enabled, savestate & rewind were disabled."
)
MSG_HASH(
MSG_COMPARING_WITH_KNOWN_MAGIC_NUMBERS,
@ -7542,3 +7542,7 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_META_STREAMING_TOGGLE,
"Streaming toggle"
)
MSG_HASH(
MSG_CHEEVOS_HARDCORE_MODE_DISABLED,
"A savestate was loaded, Achievements Hardcore Mode disabled for the current session. Restart to enable hardcore mode."
)

1
media/ico_src/icon.svg Normal file

File diff suppressed because one or more lines are too long

After

(image error) Size: 6.3 KiB

BIN
media/ico_src/icon128.png Normal file

Binary file not shown.

After

(image error) Size: 2.8 KiB

BIN
media/ico_src/icon16.png Normal file

Binary file not shown.

After

(image error) Size: 244 B

256
media/ico_src/icon16.svg Normal file

@ -0,0 +1,256 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="16"
height="16"
id="svg48"
sodipodi:docname="icon16.svg"
inkscape:export-filename="C:\msys64\home\Alfre\retroarch\media\ico_src\icon16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<metadata
id="metadata52">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1001"
id="namedview50"
showgrid="true"
inkscape:zoom="32"
inkscape:cx="13.029775"
inkscape:cy="8.1384762"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg48"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid4596" />
</sodipodi:namedview>
<defs
id="defs25">
<linearGradient
x1="6.9264302"
y1="15.24287"
x2="94.208153"
y2="85.8918"
gradientUnits="userSpaceOnUse"
id="color-1">
<stop
offset="0"
stop-color="#000000"
stop-opacity="0.1"
id="stop2" />
<stop
offset="1"
stop-color="#000000"
stop-opacity="0"
id="stop4" />
</linearGradient>
<filter
id="dropshadow-base">
<feColorMatrix
type="matrix"
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .8 0"
id="feColorMatrix7" />
<feOffset
dx="0"
dy="1"
id="feOffset9" />
<feGaussianBlur
stdDeviation="1"
id="feGaussianBlur11"
result="result1" />
<feComposite
in="SourceGraphic"
in2="result1"
id="feComposite13" />
</filter>
<filter
id="dropshadow-banner"
x="-0.1"
y="-0.1"
width="1.2"
height="1.3">
<feColorMatrix
type="matrix"
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"
id="feColorMatrix16" />
<feOffset
dx="0"
dy="1"
id="feOffset18" />
<feGaussianBlur
stdDeviation="0.5"
id="feGaussianBlur20"
result="result1" />
<feComposite
in="SourceGraphic"
in2="result1"
id="feComposite22" />
</filter>
</defs>
<path
style="opacity:1;vector-effect:none;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
d="m 2,1 h 11 v 1 h 1 v 12 h -1 v 1 H 2 V 14 H 1 V 2 h 1 z"
id="rect4807"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccc" />
<path
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccc"
style="font-family:none;mix-blend-mode:normal;fill:#800000;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
inkscape:export-ydpi="40.421051"
inkscape:export-xdpi="40.421051"
stroke-miterlimit="4"
id="path31"
d="M 4.7920761,-17.99567 2.78725,-18.00227 3.0555133,-19.074124 H 0.9032069 l 0.3699922,-1.47997 0.369992,-1.479944 h 0.7986677 l -0.4036022,1.613049 1.3530015,0.0023 0.00628,-0.0248 0.3967569,-1.585861 1.9235911,-0.0089 -0.8475508,-1.044612 -0.018068,-0.02482 h 0.7951405 l 0.9399715,1.073866 h 1.7391156 l 0.939971,-1.073881 h 0.7951401 l -0.01806,0.0248 -0.8475499,1.044537 1.9235929,0.0089 0.39674,1.585977 0.0062,0.0248 1.353005,-0.0023 -0.403537,-1.612959 h 0.798664 l 0.370036,1.479878 0.369993,1.479943 h -2.152299 l 0.268268,1.071569 -2.004822,0.0066 1.409582,1.610786 -1.222884,-9.78e-4 L 9,-18 H 5.913827 l -1.3084896,1.614011 -1.2228755,0.0012 z m 1.1217565,-3.230612 H 4.5602248 l -3.384e-4,1.337873 1.3539496,0.0066 z m 4.4398384,0 -1.3490992,-0.0047 v 1.353839 l 1.3490992,-0.0047 z" />
<path
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
stroke-miterlimit="10"
id="base 1 1 1"
d="m 2,-8 c 0,-12.15026 9.84974,-22 22,-22 12.15026,0 22,9.84974 22,22 C 46,4.15026 36.15026,14 24,14 11.84974,14 2,4.15026 2,-8 Z" />
<rect
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
id="rect36"
stroke-miterlimit="10"
height="22"
width="44"
y="-30"
x="2" />
<path
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path38"
stroke-miterlimit="10"
d="M 2,-8 V -30 H 46 V -8 Z" />
<path
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path40"
stroke-miterlimit="10"
d="M 2,-8 V -30 H 46 V -8 Z" />
<path
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path42"
stroke-miterlimit="10"
d="M 2,-8 V -30 H 46 V -8 Z" />
<path
style="font-family:none;mix-blend-mode:normal;fill:none;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path44"
stroke-miterlimit="10"
d="M 2,-8 V -30 H 46 V -8 Z" />
<path
style="font-family:none;mix-blend-mode:normal;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
d="M 11,4 V 5 H 10 V 4 Z m -1,1 v 1 h 1 v 1 h 1 V 5 h 1 v 2 2 h -1 v 1 h -1 v 1 H 10 V 10 H 9 6 5 v 1 H 4 V 10 H 3 V 9 H 2 V 7 5 H 3 V 7 H 4 V 6 H 5 V 5 H 6 V 6 H 9 V 5 Z M 5,5 H 4 V 4 h 1 z m -1,6 v 1 H 3 v -1 z m 7,0 h 1 v 1 H 11 Z M 10,7 H 9 v 1 h 1 z M 6,7 H 5 v 1 h 1 z"
id="path4626"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
<path
d="m 2.873423,-9.0023 0.5035225,-2.01354 0.5035225,-2.01354 3.662647,-5.5e-5 3.662647,-5.5e-5 0.503534,2.013454 0.503535,2.013454 -4.6697035,1.41e-4 z"
id="path4715"
stroke-miterlimit="4"
inkscape:export-xdpi="40.421051"
inkscape:export-ydpi="40.421051"
inkscape:connector-curvature="0"
style="font-family:none;mix-blend-mode:normal;fill:#bc5fd3;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:nodetypes="ccccccccc" />
<path
d="M 4.8782491,-8.9957 6,-9 l -1.3084896,1.614011 -1.2228755,0.0012 z"
id="path4717"
stroke-miterlimit="4"
inkscape:export-xdpi="40.421051"
inkscape:export-ydpi="40.421051"
inkscape:connector-curvature="0"
style="font-family:none;mix-blend-mode:normal;fill:#ff2ad4;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
style="font-family:none;mix-blend-mode:normal;fill:#ff2ad4;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
inkscape:export-ydpi="40.421051"
inkscape:export-xdpi="40.421051"
stroke-miterlimit="4"
id="path4719"
d="m 10.20801,-8.995982 -1.1217508,-0.0043 1.3084898,1.614011 1.222874,0.0012 z" />
<path
d="m 5.8040591,-13.03828 -0.8475508,-1.044612 -0.018068,-0.02482 h 0.7951405 l 0.9399715,1.073866 z"
id="path4721"
stroke-miterlimit="4"
inkscape:export-xdpi="40.421051"
inkscape:export-ydpi="40.421051"
inkscape:connector-curvature="0"
style="font-family:none;mix-blend-mode:normal;fill:#ff00ff;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:nodetypes="cccccc" />
<path
sodipodi:nodetypes="cccccc"
style="font-family:none;mix-blend-mode:normal;fill:#ff00ff;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
inkscape:export-ydpi="40.421051"
inkscape:export-xdpi="40.421051"
stroke-miterlimit="4"
id="path4723"
d="m 9.2821602,-13.038295 0.8475508,-1.044612 0.01807,-0.02482 H 9.3526392 l -0.9399718,1.073866 z" />
<path
d="m 11.608701,-11.418713 1.353005,-0.0023 -0.403537,-1.612959 h 0.798664 l 0.370036,1.479878 0.369993,1.479943 h -2.152299 z"
id="path4725"
stroke-miterlimit="4"
inkscape:export-xdpi="40.421051"
inkscape:export-ydpi="40.421051"
inkscape:connector-curvature="0"
style="font-family:none;mix-blend-mode:normal;fill:#800080;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:nodetypes="cccccccc" />
<path
sodipodi:nodetypes="cccccccc"
style="font-family:none;mix-blend-mode:normal;fill:#800080;fill-rule:nonzero;stroke:#d90000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:connector-curvature="0"
inkscape:export-ydpi="40.421051"
inkscape:export-xdpi="40.421051"
stroke-miterlimit="4"
id="path4727"
d="m 3.4774346,-11.418719 -1.353005,-0.0023 0.403537,-1.612959 h -0.798664 l -0.370036,1.479878 -0.369993,1.479943 h 2.152299 z" />
<rect
y="-12.226315"
x="4.6463981"
height="1.344473"
width="1.3536112"
id="rect4729"
style="font-family:none;opacity:1;mix-blend-mode:normal;vector-effect:none;fill:#800066;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" />
<rect
style="font-family:none;opacity:1;mix-blend-mode:normal;vector-effect:none;fill:#800066;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
id="rect4731"
width="1.3536112"
height="1.344473"
x="9.0862331"
y="-12.226315" />
</svg>

After

(image error) Size: 12 KiB

BIN
media/ico_src/icon192.png Normal file

Binary file not shown.

After

(image error) Size: 3.8 KiB

BIN
media/ico_src/icon24.png Normal file

Binary file not shown.

After

(image error) Size: 713 B

BIN
media/ico_src/icon256.png Normal file

Binary file not shown.

After

(image error) Size: 5.1 KiB

BIN
media/ico_src/icon32.png Normal file

Binary file not shown.

After

(image error) Size: 861 B

BIN
media/ico_src/icon48.png Normal file

Binary file not shown.

After

(image error) Size: 1.2 KiB

BIN
media/ico_src/icon64.png Normal file

Binary file not shown.

After

(image error) Size: 1.7 KiB

BIN
media/ico_src/icon96.png Normal file

Binary file not shown.

After

(image error) Size: 2.2 KiB

1
media/ico_src/make.sh Normal file

@ -0,0 +1 @@
magick convert -verbose icon16.png icon24.png icon32.png icon48.png icon64.png icon96.png icon128.png icon192.png icon256.png ../retroarch.ico

Binary file not shown.

Before

(image error) Size: 1.1 KiB

After

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 155 B

After

(image error) Size: 244 B

Binary file not shown.

Before

(image error) Size: 291 KiB

After

(image error) Size: 289 KiB

@ -13,7 +13,7 @@
height="128.19"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="retroarch.svg">
<defs
id="defs4" />
@ -24,22 +24,23 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="-0.71358335"
inkscape:cy="80.21972"
inkscape:zoom="2.8"
inkscape:cx="140.09253"
inkscape:cy="60.040888"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
showguides="true"
inkscape:window-width="1301"
inkscape:window-height="744"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
fit-margin-bottom="0"
inkscape:pagecheckerboard="true">
<inkscape:grid
type="xygrid"
id="grid2985"
@ -47,8 +48,10 @@
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="-635.53125px"
originy="-706.75561px" />
originx="-635.53125"
originy="-706.75561"
spacingx="1"
spacingy="1" />
</sodipodi:namedview>
<metadata
id="metadata7">

Before

(image error) Size: 2.6 KiB

After

(image error) Size: 2.7 KiB

@ -30,12 +30,17 @@
#endif
/* Clicks the back button */
static int action_cancel_pop_default(const char *path,
int action_cancel_pop_default(const char *path,
const char *label, unsigned type, size_t idx)
{
size_t new_selection_ptr;
const char *menu_label = NULL;
enum msg_hash_enums enum_idx = 0 ;
const char *menu_label = NULL;
enum msg_hash_enums enum_idx = 0;
(void)path;
(void)label;
(void)type;
(void)idx;
menu_entries_get_last_stack(NULL, &menu_label, NULL, &enum_idx, NULL);

@ -535,8 +535,6 @@ static int general_push(menu_displaylist_info_t *info,
break;
}
(void)settings;
if (settings->bools.multimedia_builtin_mediaplayer_enable ||
settings->bools.multimedia_builtin_imageviewer_enable)
{
@ -602,6 +600,7 @@ generic_deferred_push_clear_general(deferred_playlist_list, PUSH_DEFAULT, DISPLA
generic_deferred_push_clear_general(deferred_music_history_list, PUSH_DEFAULT, DISPLAYLIST_MUSIC_HISTORY)
generic_deferred_push_clear_general(deferred_image_history_list, PUSH_DEFAULT, DISPLAYLIST_IMAGES_HISTORY)
generic_deferred_push_clear_general(deferred_video_history_list, PUSH_DEFAULT, DISPLAYLIST_VIDEO_HISTORY)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST)
static int menu_cbs_init_bind_deferred_push_compare_label(
menu_file_list_cbs_t *cbs,
@ -612,6 +611,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_favorites_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dropdown_box_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_browse_url_list);

@ -17,7 +17,6 @@
#include <compat/strl.h>
#include <string/stdstring.h>
#include <lists/string_list.h>
#include <audio/audio_resampler.h>
#ifdef HAVE_CONFIG_H
#include "../../config.h"
@ -126,36 +125,6 @@ static void menu_action_setting_disp_set_label_cheevos_locked_entry(
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CHEEVOS_LOCKED_ENTRY), len);
}
static void menu_action_setting_disp_set_label_crt_switch_resolution(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
*w = 19;
strlcpy(s2, path, len2);
if (settings)
{
switch (settings->uints.crt_switch_resolution)
{
case CRT_SWITCH_NONE:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), len);
break;
case CRT_SWITCH_15KHZ:
strlcpy(s, "15 KHz", len);
break;
case CRT_SWITCH_31KHZ:
strlcpy(s, "31 KHz", len);
break;
}
}
}
static void menu_action_setting_disp_set_label_crt_switch_resolution_super(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -281,52 +250,6 @@ static void menu_action_setting_disp_set_label_shader_filter_pass(
}
}
static void menu_action_setting_disp_set_label_audio_resampler_quality(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
*s = '\0';
*w = 19;
strlcpy(s2, path, len2);
if (settings)
{
switch (settings->uints.audio_resampler_quality)
{
case RESAMPLER_QUALITY_DONTCARE:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DONT_CARE),
len);
break;
case RESAMPLER_QUALITY_LOWEST:
strlcpy(s, "Lowest",
len);
break;
case RESAMPLER_QUALITY_LOWER:
strlcpy(s, "Lower",
len);
break;
case RESAMPLER_QUALITY_HIGHER:
strlcpy(s, "Higher",
len);
break;
case RESAMPLER_QUALITY_HIGHEST:
strlcpy(s, "Highest",
len);
break;
case RESAMPLER_QUALITY_NORMAL:
strlcpy(s, "Normal",
len);
break;
}
}
}
static void menu_action_setting_disp_set_label_filter(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -348,61 +271,6 @@ static void menu_action_setting_disp_set_label_filter(
settings->paths.path_softfilter_plugin, len);
}
static void menu_action_setting_disp_set_label_pipeline(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
*s = '\0';
*w = 19;
switch (settings->uints.menu_xmb_shader_pipeline)
{
case XMB_SHADER_PIPELINE_WALLPAPER:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), len);
break;
case XMB_SHADER_PIPELINE_SIMPLE_RIBBON:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_RIBBON_SIMPLIFIED), len);
break;
case XMB_SHADER_PIPELINE_RIBBON:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_RIBBON), len);
break;
case XMB_SHADER_PIPELINE_SIMPLE_SNOW:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_SIMPLE_SNOW), len);
break;
case XMB_SHADER_PIPELINE_SNOW:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_SNOW), len);
break;
case XMB_SHADER_PIPELINE_BOKEH:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_BOKEH), len);
break;
case XMB_SHADER_PIPELINE_SNOWFLAKE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_SHADER_PIPELINE_SNOWFLAKE), len);
break;
}
strlcpy(s2, path, len2);
}
#ifdef HAVE_NETWORKING
static void menu_action_setting_disp_set_label_netplay_mitm_server(
file_list_t* list,
@ -650,9 +518,8 @@ static void menu_action_setting_disp_set_label_input_desc(
if (!settings)
return;
user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8);
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx;
user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8);
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx;
remap_idx =
settings->uints.input_remap_ids[user_idx][btn_idx];
@ -703,13 +570,12 @@ static void menu_action_setting_disp_set_label_input_desc_kbd(
user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND;
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx;
remap_id =
settings->uints.input_keymapper_ids[user_idx][btn_idx];
for (key_id = 0; key_id < RARCH_MAX_KEYS - 1; key_id++)
{
if(remap_id == key_descriptors[key_id].key)
if (remap_id == key_descriptors[key_id].key)
break;
}
@ -738,8 +604,7 @@ static void menu_action_setting_disp_set_label_cheat(
if (cheat_index < cheat_manager_get_buf_size())
{
if ( cheat_manager_state.cheats[cheat_index].handler == CHEAT_HANDLER_TYPE_EMU)
{
if (cheat_manager_state.cheats[cheat_index].handler == CHEAT_HANDLER_TYPE_EMU)
snprintf(s, len, "(%s) : %s",
cheat_manager_get_code_state(cheat_index) ?
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) :
@ -748,16 +613,13 @@ static void menu_action_setting_disp_set_label_cheat(
? cheat_manager_get_code(cheat_index) :
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE)
);
}
else
{
snprintf(s, len, "(%s) : %08X",
cheat_manager_get_code_state(cheat_index) ?
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) :
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF),
cheat_manager_state.cheats[cheat_index].address
);
}
}
*w = 19;
strlcpy(s2, path, len2);
@ -776,9 +638,9 @@ static void menu_action_setting_disp_set_label_cheat_match(
unsigned int address_mask = 0;
unsigned int prev_val = 0;
unsigned int curr_val = 0 ;
cheat_manager_match_action(CHEAT_MATCH_ACTION_TYPE_VIEW, cheat_manager_state.match_idx, &address, &address_mask, &prev_val, &curr_val) ;
cheat_manager_match_action(CHEAT_MATCH_ACTION_TYPE_VIEW, cheat_manager_state.match_idx, &address, &address_mask, &prev_val, &curr_val);
snprintf(s, len, "Prev: %u Curr: %u", prev_val, curr_val) ;
snprintf(s, len, "Prev: %u Curr: %u", prev_val, curr_val);
*w = 19;
strlcpy(s2, path, len2);
}
@ -932,107 +794,6 @@ static void menu_action_setting_disp_set_label_state(
strlcat(s, " (Auto)", len);
}
static void menu_action_setting_disp_set_label_poll_type_behavior(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.input_poll_type_behavior)
{
case 0:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY), len);
break;
case 1:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL), len);
break;
case 2:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_LATE), len);
break;
}
}
static void menu_action_setting_disp_set_label_xmb_theme(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.menu_xmb_theme)
{
case XMB_ICON_THEME_MONOCHROME:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME), len);
break;
case XMB_ICON_THEME_FLATUI:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_FLATUI), len);
break;
case XMB_ICON_THEME_RETROACTIVE:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_RETROACTIVE), len);
break;
case XMB_ICON_THEME_RETROSYSTEM:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_RETROSYSTEM), len);
break;
case XMB_ICON_THEME_PIXEL:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_PIXEL), len);
break;
case XMB_ICON_THEME_NEOACTIVE:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_NEOACTIVE), len);
break;
case XMB_ICON_THEME_SYSTEMATIC:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_SYSTEMATIC), len);
break;
case XMB_ICON_THEME_DOTART:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_DOTART), len);
break;
case XMB_ICON_THEME_MONOCHROME_INVERTED:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME_INVERTED), len);
break;
case XMB_ICON_THEME_CUSTOM:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM), len);
break;
case XMB_ICON_THEME_AUTOMATIC:
strlcpy(s,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC), len);
break;
}
}
static void menu_action_setting_disp_set_label_wifi_is_online(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -1049,310 +810,6 @@ static void menu_action_setting_disp_set_label_wifi_is_online(
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE), len);
}
static void menu_action_setting_disp_set_label_xmb_layout(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
strlcpy(s2, path, len2);
*w = 19;
if (!settings)
return;
switch (settings->uints.menu_xmb_layout)
{
case 0:
strlcpy(s, "Auto", len);
break;
case 1:
strlcpy(s, "Console", len);
break;
case 2:
strlcpy(s, "Handheld", len);
break;
}
}
static void menu_action_setting_disp_set_label_xmb_menu_color_theme(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
strlcpy(s2, path, len2);
*w = 19;
if (!settings)
return;
switch (settings->uints.menu_xmb_color_theme)
{
case XMB_THEME_WALLPAPER:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_PLAIN),
len);
break;
case XMB_THEME_LEGACY_RED:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED),
len);
break;
case XMB_THEME_DARK_PURPLE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE),
len);
break;
case XMB_THEME_MIDNIGHT_BLUE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MIDNIGHT_BLUE),
len);
break;
case XMB_THEME_GOLDEN:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_GOLDEN),
len);
break;
case XMB_THEME_ELECTRIC_BLUE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_ELECTRIC_BLUE),
len);
break;
case XMB_THEME_APPLE_GREEN:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_APPLE_GREEN),
len);
break;
case XMB_THEME_UNDERSEA:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_UNDERSEA),
len);
break;
case XMB_THEME_VOLCANIC_RED:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED),
len);
break;
case XMB_THEME_DARK:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK),
len);
break;
case XMB_THEME_LIGHT:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LIGHT),
len);
break;
case XMB_THEME_MORNING_BLUE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MORNING_BLUE),
len);
break;
}
}
static void menu_action_setting_disp_set_label_materialui_menu_color_theme(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
strlcpy(s2, path, len2);
*w = 19;
if (!settings)
return;
switch (settings->uints.menu_materialui_color_theme)
{
case MATERIALUI_THEME_BLUE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE), len);
break;
case MATERIALUI_THEME_BLUE_GREY:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_BLUE_GREY), len);
break;
case MATERIALUI_THEME_GREEN:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_GREEN), len);
break;
case MATERIALUI_THEME_RED:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_RED), len);
break;
case MATERIALUI_THEME_YELLOW:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_YELLOW), len);
break;
case MATERIALUI_THEME_DARK_BLUE:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_DARK_BLUE), len);
break;
case MATERIALUI_THEME_NVIDIA_SHIELD:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME_NVIDIA_SHIELD), len);
break;
default:
break;
}
}
static void menu_action_setting_disp_set_label_thumbnails(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.menu_thumbnails)
{
case 0:
strlcpy(s, msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_OFF), len);
break;
case 1:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_SCREENSHOTS), len);
break;
case 2:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_TITLE_SCREENS), len);
break;
case 3:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_BOXARTS), len);
break;
}
}
static void menu_action_setting_disp_set_label_left_thumbnails(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.menu_left_thumbnails)
{
case 0:
strlcpy(s, msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_OFF), len);
break;
case 1:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_SCREENSHOTS), len);
break;
case 2:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_TITLE_SCREENS), len);
break;
case 3:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_BOXARTS), len);
break;
}
}
static void menu_action_setting_disp_set_label_menu_toggle_gamepad_combo(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.input_menu_toggle_gamepad_combo)
{
case INPUT_TOGGLE_NONE:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NONE), len);
break;
case INPUT_TOGGLE_DOWN_Y_L_R:
strlcpy(s, "Down + L1 + R1 + Y", len);
break;
case INPUT_TOGGLE_L3_R3:
strlcpy(s, "L3 + R3", len);
break;
case INPUT_TOGGLE_L1_R1_START_SELECT:
strlcpy(s, "L1 + R1 + Start + Select", len);
break;
case INPUT_TOGGLE_START_SELECT:
strlcpy(s, "Start + Select", len);
break;
}
}
static void menu_action_setting_disp_set_label_menu_disk_index(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -1392,43 +849,6 @@ static void menu_action_setting_disp_set_label_menu_disk_index(
snprintf(s, len, "%u", current + 1);
}
static void menu_action_setting_disp_set_label_menu_input_keyboard_gamepad_mapping_type(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
unsigned width = 0, height = 0;
*w = 19;
*s = '\0';
(void)width;
(void)height;
strlcpy(s2, path, len2);
switch (settings->uints.input_keyboard_gamepad_mapping_type)
{
case 0:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NONE), len);
break;
case 1:
strlcpy(s, "iPega PG-9017", len);
break;
case 2:
strlcpy(s, "8-bitty", len);
break;
case 3:
strlcpy(s, "SNES30 8bitdo", len);
break;
}
}
static void menu_action_setting_disp_set_label_menu_video_resolution(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -1942,7 +1362,7 @@ static void menu_action_setting_disp_set_label_setting_string(file_list_t* list,
*w = 19;
if ( setting->value.target.string != NULL )
if (setting->value.target.string != NULL)
strlcpy(s, setting->value.target.string, len);
strlcpy(s2, path, len2);
@ -1967,86 +1387,6 @@ static void menu_action_setting_disp_set_label_setting_path(file_list_t* list,
strlcpy(s2, path, len2);
}
#ifdef HAVE_NETWORKING
static void menu_action_setting_disp_set_label_netplay_share_digital(file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
const char *src;
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.netplay_share_digital)
{
case RARCH_NETPLAY_SHARE_DIGITAL_NO_PREFERENCE:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_NO_PREFERENCE);
break;
case RARCH_NETPLAY_SHARE_DIGITAL_OR:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_DIGITAL_OR);
break;
case RARCH_NETPLAY_SHARE_DIGITAL_XOR:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_DIGITAL_XOR);
break;
case RARCH_NETPLAY_SHARE_DIGITAL_VOTE:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_DIGITAL_VOTE);
break;
default:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_NONE);
break;
}
strlcpy(s, src, len);
}
static void menu_action_setting_disp_set_label_netplay_share_analog(file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
const char *src;
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.netplay_share_analog)
{
case RARCH_NETPLAY_SHARE_ANALOG_NO_PREFERENCE:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_NO_PREFERENCE);
break;
case RARCH_NETPLAY_SHARE_ANALOG_MAX:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_ANALOG_MAX);
break;
case RARCH_NETPLAY_SHARE_ANALOG_AVERAGE:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_ANALOG_AVERAGE);
break;
default:
src = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_SHARE_NONE);
break;
}
strlcpy(s, src, len);
}
#endif
static int menu_cbs_init_bind_get_string_representation_compare_label(
menu_file_list_cbs_t *cbs)
{
@ -2071,42 +1411,10 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_state);
break;
case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_poll_type_behavior);
break;
case MENU_ENUM_LABEL_XMB_LAYOUT:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_xmb_layout);
break;
case MENU_ENUM_LABEL_XMB_THEME:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_xmb_theme);
break;
case MENU_ENUM_LABEL_CONNECT_WIFI:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_wifi_is_online);
break;
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_xmb_menu_color_theme);
break;
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_materialui_menu_color_theme);
break;
case MENU_ENUM_LABEL_THUMBNAILS:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_thumbnails);
break;
case MENU_ENUM_LABEL_LEFT_THUMBNAILS:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_left_thumbnails);
break;
case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_menu_toggle_gamepad_combo);
break;
case MENU_ENUM_LABEL_CHEAT_NUM_PASSES:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_cheat_num_passes);
@ -2115,10 +1423,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_remap_file_load);
break;
case MENU_ENUM_LABEL_AUDIO_RESAMPLER_QUALITY:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_audio_resampler_quality);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_shader_filter_pass);
@ -2135,10 +1439,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_shader_watch_for_changes);
break;
case MENU_ENUM_LABEL_XMB_RIBBON_ENABLE:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_pipeline);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_shader_pass);
@ -2159,20 +1459,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_menu_video_resolution);
break;
case MENU_ENUM_LABEL_INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_menu_input_keyboard_gamepad_mapping_type);
break;
#ifdef HAVE_NETWORKING
case MENU_ENUM_LABEL_NETPLAY_SHARE_DIGITAL:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_netplay_share_digital);
break;
case MENU_ENUM_LABEL_NETPLAY_SHARE_ANALOG:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_netplay_share_analog);
break;
#endif
case MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST:
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
@ -2383,6 +1669,9 @@ static int menu_cbs_init_bind_get_string_representation_compare_type(
case 26: /* URL entries */
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry_url);
break;
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
case MENU_SETTING_DROPDOWN_ITEM:
case MENU_SETTING_NO_ITEM:
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_no_items);
break;
@ -2423,10 +1712,6 @@ int menu_cbs_init_bind_get_string_representation(menu_file_list_cbs_t *cbs,
{
switch (cbs->enum_idx)
{
case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_crt_switch_resolution);
return 0;
case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_crt_switch_resolution_super);

@ -735,7 +735,7 @@ static int disk_options_disk_idx_left(unsigned type, const char *label,
static int bind_left_generic(unsigned type, const char *label,
bool wraparound)
{
return menu_setting_set(type, label, MENU_ACTION_LEFT, wraparound);
return menu_setting_set(type, MENU_ACTION_LEFT, wraparound);
}
static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs,

@ -51,6 +51,7 @@
#include "../../core_info.h"
#include "../../frontend/frontend_driver.h"
#include "../../defaults.h"
#include "../../managers/core_option_manager.h"
#include "../../managers/cheat_manager.h"
#include "../../tasks/tasks_internal.h"
#include "../../input/input_remapping.h"
@ -258,6 +259,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
{
switch (lbl)
{
case ACTION_OK_DL_DROPDOWN_BOX_LIST:
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST;
case ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
case ACTION_OK_DL_ACCOUNTS_LIST:
@ -409,6 +412,15 @@ int generic_action_ok_displaylist_push(const char *path,
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_VIDEO_LIST;
dl_type = DISPLAYLIST_GENERIC;
break;
case ACTION_OK_DL_DROPDOWN_BOX_LIST:
info.type = type;
info.directory_ptr = idx;
info_path = path;
info_label = msg_hash_to_str(
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST;
dl_type = DISPLAYLIST_GENERIC;
break;
case ACTION_OK_DL_USER_BINDS_LIST:
info.type = type;
info.directory_ptr = idx;
@ -837,24 +849,24 @@ int generic_action_ok_displaylist_push(const char *path,
{
rarch_setting_t *setting = NULL;
cheat_manager_copy_idx_to_working(type-MENU_SETTINGS_CHEAT_BEGIN) ;
cheat_manager_copy_idx_to_working(type-MENU_SETTINGS_CHEAT_BEGIN);
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_IDX));
if (setting)
setting->max = cheat_manager_get_size()-1 ;
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_VALUE));
if ( setting )
if (setting)
setting->max = (int) pow(2,pow((double) 2,cheat_manager_state.working_cheat.memory_search_size))-1;
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_RUMBLE_VALUE));
if (setting)
setting->max = (int) pow(2,pow((double) 2,cheat_manager_state.working_cheat.memory_search_size))-1;
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_ADDRESS_BIT_POSITION));
if ( setting )
if (setting)
{
int max_bit_position = cheat_manager_state.working_cheat.memory_search_size<3 ? 7 : 0 ;
setting->max = max_bit_position ;
}
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_ADDRESS));
if ( setting )
if (setting)
{
cheat_manager_state.browse_address = *setting->value.target.unsigned_integer ;
}
@ -864,13 +876,13 @@ int generic_action_ok_displaylist_push(const char *path,
case ACTION_OK_DL_CHEAT_SEARCH_SETTINGS_LIST:
{
rarch_setting_t *setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT));
if ( setting)
if (setting)
setting->max = (int) pow(2,pow((double) 2,cheat_manager_state.search_bit_size))-1;
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS));
if ( setting )
if (setting)
setting->max = (int) pow(2,pow((double) 2,cheat_manager_state.search_bit_size))-1;
setting = menu_setting_find(msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS));
if ( setting )
if (setting)
setting->max = (int) pow(2,pow((double) 2,cheat_manager_state.search_bit_size))-1;
action_ok_dl_lbl(action_ok_dl_to_enum(action_type), DISPLAYLIST_GENERIC);
break ;
@ -1956,7 +1968,7 @@ static int action_ok_mixer_stream_action_stop(const char *path,
static int action_ok_lookup_setting(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return menu_setting_set(type, label, MENU_ACTION_OK, false);
return menu_setting_set(type, MENU_ACTION_OK, false);
}
static int action_ok_audio_add_to_mixer(const char *path,
@ -2669,12 +2681,28 @@ static int action_ok_audio_run(const char *path,
#endif
}
static int action_ok_core_option_dropdown_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
char core_option_lbl[256];
char core_option_idx[256];
snprintf(core_option_lbl, sizeof(core_option_lbl), "core_option_%d", (int)idx);
snprintf(core_option_idx, sizeof(core_option_idx), "%d",
type);
generic_action_ok_displaylist_push(
core_option_lbl, NULL,
core_option_idx, 0, 0, 0,
ACTION_OK_DL_DROPDOWN_BOX_LIST);
return 0;
}
static int action_ok_cheat_reload_cheats(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
bool refresh = false ;
cheat_manager_realloc(0, CHEAT_HANDLER_TYPE_EMU);
cheat_manager_load_game_specific_cheats() ;
cheat_manager_load_game_specific_cheats();
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
return 0 ;
@ -2723,17 +2751,17 @@ static int action_ok_cheat_add_top(const char *path,
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat )) ;
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat));
tmp.idx = 0 ;
for (i = cheat_manager_state.size-2 ; i >=0 ; i--)
{
memcpy(&cheat_manager_state.cheats[i+1],
&cheat_manager_state.cheats[i], sizeof(struct item_cheat )) ;
&cheat_manager_state.cheats[i], sizeof(struct item_cheat));
cheat_manager_state.cheats[i+1].idx++ ;
}
memcpy(&cheat_manager_state.cheats[0], &tmp, sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[0], &tmp, sizeof(struct item_cheat));
strlcpy(msg, msg_hash_to_str(MSG_CHEAT_ADD_TOP_SUCCESS), sizeof(msg));
msg[sizeof(msg) - 1] = 0;
@ -2786,16 +2814,16 @@ static int action_ok_cheat_add_new_after(const char *path,
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat )) ;
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat));
tmp.idx = cheat_manager_state.working_cheat.idx+1 ;
for (i = cheat_manager_state.size-2 ; i >= (int)(cheat_manager_state.working_cheat.idx+1); i--)
{
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat));
cheat_manager_state.cheats[i+1].idx++ ;
}
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat));
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
@ -2819,19 +2847,19 @@ static int action_ok_cheat_add_new_before(const char *path,
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat )) ;
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.size-1], sizeof(struct item_cheat));
tmp.idx = cheat_manager_state.working_cheat.idx ;
for (i = cheat_manager_state.size-2 ; i >=(int)tmp.idx ; i--)
{
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat));
cheat_manager_state.cheats[i+1].idx++ ;
}
memcpy(&cheat_manager_state.cheats[tmp.idx],
&tmp, sizeof(struct item_cheat )) ;
&tmp, sizeof(struct item_cheat));
memcpy(&cheat_manager_state.working_cheat,
&tmp, sizeof(struct item_cheat )) ;
&tmp, sizeof(struct item_cheat));
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
@ -2854,21 +2882,21 @@ static int action_ok_cheat_copy_before(const char *path,
unsigned int new_size = cheat_manager_get_size() + 1;
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx], sizeof(struct item_cheat )) ;
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx], sizeof(struct item_cheat));
tmp.idx = cheat_manager_state.working_cheat.idx ;
if ( tmp.code != NULL )
tmp.code = strdup(tmp.code) ;
if ( tmp.desc != NULL )
tmp.desc = strdup(tmp.desc) ;
if (tmp.code)
tmp.code = strdup(tmp.code);
if (tmp.desc)
tmp.desc = strdup(tmp.desc);
for (i = cheat_manager_state.size-2 ; i >=(int)tmp.idx ; i--)
{
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat));
cheat_manager_state.cheats[i+1].idx++ ;
}
memcpy(&cheat_manager_state.cheats[tmp.idx], &tmp, sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.working_cheat, &tmp, sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[tmp.idx], &tmp, sizeof(struct item_cheat));
memcpy(&cheat_manager_state.working_cheat, &tmp, sizeof(struct item_cheat));
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
@ -2893,20 +2921,20 @@ static int action_ok_cheat_copy_after(const char *path,
cheat_manager_realloc(new_size, CHEAT_HANDLER_TYPE_RETRO);
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx], sizeof(struct item_cheat )) ;
memcpy(&tmp, &cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx], sizeof(struct item_cheat));
tmp.idx = cheat_manager_state.working_cheat.idx+1 ;
if ( tmp.code != NULL )
tmp.code = strdup(tmp.code) ;
if ( tmp.desc != NULL )
tmp.desc = strdup(tmp.desc) ;
if (tmp.code)
tmp.code = strdup(tmp.code);
if (tmp.desc)
tmp.desc = strdup(tmp.desc);
for (i = cheat_manager_state.size-2 ; i >= (int)(cheat_manager_state.working_cheat.idx+1); i--)
{
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[i+1], &cheat_manager_state.cheats[i], sizeof(struct item_cheat));
cheat_manager_state.cheats[i+1].idx++ ;
}
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx+1], &tmp, sizeof(struct item_cheat ));
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
@ -2922,26 +2950,26 @@ static int action_ok_cheat_copy_after(const char *path,
static int action_ok_cheat_delete(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
size_t new_selection_ptr;
char msg[256];
unsigned int new_size = cheat_manager_get_size() - 1;
size_t new_selection_ptr = 0;
unsigned int new_size = cheat_manager_get_size() - 1;
if( new_size >0 )
if (new_size >0)
{
unsigned i;
if ( cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].code != NULL )
if (cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].code)
{
free(cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].code) ;
free(cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].code);
cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].code = NULL ;
}
if ( cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].desc != NULL )
if (cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].desc)
{
free(cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].desc) ;
free(cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].desc);
cheat_manager_state.cheats[cheat_manager_state.working_cheat.idx].desc = NULL ;
}
for (i = cheat_manager_state.working_cheat.idx ; i <cheat_manager_state.size-1 ; i++)
{
memcpy(&cheat_manager_state.cheats[i], &cheat_manager_state.cheats[i+1], sizeof(struct item_cheat )) ;
memcpy(&cheat_manager_state.cheats[i], &cheat_manager_state.cheats[i+1], sizeof(struct item_cheat ));
cheat_manager_state.cheats[i].idx-- ;
}
cheat_manager_state.cheats[cheat_manager_state.size-1].code = NULL ;
@ -4258,6 +4286,75 @@ int action_ok_push_filebrowser_list_file_select(const char *path,
entry_idx, ACTION_OK_DL_FILE_BROWSER_SELECT_DIR);
}
static int action_ok_push_dropdown_setting_core_options_item(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
core_option_manager_t *coreopts = NULL;
int core_option_idx = (int)atoi(label);
rarch_ctl(RARCH_CTL_CORE_OPTIONS_LIST_GET, &coreopts);
if (!coreopts)
return -1;
core_option_manager_set_val(coreopts, core_option_idx, idx);
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_dropdown_setting_string_options_item(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
enum msg_hash_enums enum_idx = (enum msg_hash_enums)atoi(label);
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
if (!setting)
return -1;
strlcpy(setting->value.target.string, path,
sizeof(setting->value.target.string));
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_dropdown_setting_int_item(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
enum msg_hash_enums enum_idx = (enum msg_hash_enums)atoi(label);
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
if (!setting)
return -1;
*setting->value.target.integer = idx + setting->offset_by;
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_dropdown_setting_uint_item(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
enum msg_hash_enums enum_idx = (enum msg_hash_enums)atoi(label);
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
if (!setting)
return -1;
*setting->value.target.unsigned_integer = idx + setting->offset_by;
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_dropdown_item(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
#if 0
RARCH_LOG("dropdown: \n");
RARCH_LOG("path: %s \n", path);
RARCH_LOG("label: %s \n", label);
RARCH_LOG("type: %d \n", type);
RARCH_LOG("idx: %d \n", idx);
RARCH_LOG("entry_idx: %d \n", entry_idx);
#endif
return 0;
}
static int action_ok_push_default(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -5302,10 +5399,33 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
{
BIND_ACTION_OK(cbs, action_ok_cheat);
}
else if ((type >= MENU_SETTINGS_PLAYLIST_ASSOCIATION_START))
{
return -1;
}
else if ((type >= MENU_SETTINGS_CORE_OPTION_START))
{
BIND_ACTION_OK(cbs, action_ok_core_option_dropdown_list);
}
else
{
switch (type)
{
case MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_setting_core_options_item);
break;
case MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_setting_string_options_item);
break;
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_setting_int_item);
break;
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_setting_uint_item);
break;
case MENU_SETTING_DROPDOWN_ITEM:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item);
break;
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
BIND_ACTION_OK(cbs, action_ok_push_default);
break;
@ -5333,7 +5453,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
BIND_ACTION_OK(cbs, action_ok_push_generic_list);
break;
case FILE_TYPE_CHEAT:
if ( menu_label_hash == MENU_LABEL_CHEAT_FILE_LOAD_APPEND )
if (menu_label_hash == MENU_LABEL_CHEAT_FILE_LOAD_APPEND)
{
BIND_ACTION_OK(cbs, action_ok_cheat_file_load_append);
}

@ -513,7 +513,7 @@ static int disk_options_disk_idx_right(unsigned type, const char *label,
int bind_right_generic(unsigned type, const char *label,
bool wraparound)
{
return menu_setting_set(type, label, MENU_ACTION_RIGHT, wraparound);
return menu_setting_set(type, MENU_ACTION_RIGHT, wraparound);
}
static int menu_cbs_init_bind_right_compare_type(menu_file_list_cbs_t *cbs,

@ -67,7 +67,10 @@ static int action_select_default(const char *path, const char *label, unsigned t
case ST_UINT:
case ST_SIZE:
case ST_FLOAT:
action = MENU_ACTION_RIGHT;
if (cbs->action_ok)
action = MENU_ACTION_OK;
else
action = MENU_ACTION_RIGHT;
break;
case ST_PATH:
case ST_DIR:

@ -283,7 +283,7 @@ static int action_start_video_resolution(unsigned type, const char *label)
static int action_start_lookup_setting(unsigned type, const char *label)
{
return menu_setting_set(type, label, MENU_ACTION_START, false);
return menu_setting_set(type, MENU_ACTION_START, false);
}
static int menu_cbs_init_bind_start_compare_label(menu_file_list_cbs_t *cbs)

@ -590,16 +590,12 @@ static int action_bind_sublabel_cheat_desc(
{
unsigned offset = (type - MENU_SETTINGS_CHEAT_BEGIN);
if ( cheat_manager_state.cheats )
if (cheat_manager_state.cheats)
{
if ( cheat_manager_state.cheats[offset].handler == CHEAT_HANDLER_TYPE_EMU)
{
if (cheat_manager_state.cheats[offset].handler == CHEAT_HANDLER_TYPE_EMU)
snprintf(s, len, "Emulator-Handled") ;
}
else
{
snprintf(s, len, "RetroArch-Handled") ;
}
}
return 0;

@ -78,6 +78,11 @@ static int action_get_title_action_generic(const char *path, const char *label,
return 0; \
}
static int action_get_title_dropdown_item(const char *path, const char *label, unsigned menu_type, char *s, size_t len)
{
return 0;
}
static int action_get_title_mixer_stream_actions(const char *path, const char *label, unsigned menu_type, char *s, size_t len)
{
unsigned offset = (menu_type - MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_BEGIN);
@ -1188,7 +1193,12 @@ int menu_cbs_init_bind_title(menu_file_list_cbs_t *cbs,
BIND_ACTION_GET_TITLE(cbs, action_get_title_mixer_stream_actions);
return 0;
}
if (string_is_equal(label,
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_title_dropdown_item);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_quick_menu_views_settings_list);

@ -43,6 +43,7 @@ typedef struct key_desc
enum
{
ACTION_OK_DL_DEFAULT = 0,
ACTION_OK_DL_DROPDOWN_BOX_LIST,
ACTION_OK_DL_OPEN_ARCHIVE,
ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE,
ACTION_OK_DL_MUSIC,
@ -139,10 +140,16 @@ enum
/* Function callbacks */
int action_cancel_pop_default(const char *path,
const char *label, unsigned type, size_t idx);
int action_refresh_default(file_list_t *list, file_list_t *menu_list);
int shader_action_parameter_right(unsigned type, const char *label, bool wraparound);
int action_cancel_pop_with_new_pos(const char *path,
const char *label, unsigned type, size_t idx, size_t new_idx);
int generic_action_ok_displaylist_push(const char *path, const char *new_path,
const char *label, unsigned type, size_t idx, size_t entry_idx,
unsigned action_type);

@ -6521,6 +6521,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
if (menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MIDI_SETTINGS, PARSE_ACTION, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS, PARSE_ACTION, false) == 0)
count++;
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_AUDIO_ENABLE,
PARSE_ONLY_BOOL, false);
@ -6715,8 +6718,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
MENU_ENUM_LABEL_VIDEO_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_AUDIO_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
@ -7690,6 +7691,193 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
use_filebrowser = true;
break;
case DISPLAYLIST_DROPDOWN_LIST:
{
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (strstr(info->path, "core_option_"))
{
struct string_list *tmp_str_list = string_split(info->path, "_");
if (tmp_str_list && tmp_str_list->size > 0)
{
core_option_manager_t *coreopts = NULL;
rarch_ctl(RARCH_CTL_CORE_OPTIONS_LIST_GET, &coreopts);
if (coreopts)
{
unsigned size = tmp_str_list->size;
unsigned i = atoi(tmp_str_list->elems[size-1].data);
struct core_option *option = NULL;
i--;
option = (struct core_option*)&coreopts->opts[i];
if (option)
{
unsigned k;
for (k = 0; k < option->vals->size; k++)
{
const char *str = option->vals->elems[k].data;
if (!string_is_empty(str))
{
char val_d[256];
snprintf(val_d, sizeof(val_d), "%d", i);
menu_entries_append_enum(info->list,
str,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM, k, 0);
count++;
}
}
}
}
}
}
else
{
enum msg_hash_enums enum_idx = (enum msg_hash_enums)atoi(info->path);
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
if (setting)
{
switch (setting->type)
{
case ST_STRING_OPTIONS:
{
struct string_list *tmp_str_list = string_split(setting->values, "|");
if (tmp_str_list && tmp_str_list->size > 0)
{
unsigned i;
unsigned size = tmp_str_list->size;
for (i = 0; i < size; i++)
{
char val_d[256];
snprintf(val_d, sizeof(val_d), "%d", setting->enum_idx);
menu_entries_append_enum(info->list,
tmp_str_list->elems[i].data,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM, i, 0);
}
}
}
break;
case ST_INT:
{
float i;
int32_t orig_value = *setting->value.target.integer;
unsigned setting_type = MENU_SETTING_DROPDOWN_SETTING_INT_ITEM;
float step = setting->step;
double min = setting->enforce_minrange ? setting->min : 0.00;
double max = setting->enforce_maxrange ? setting->max : 999.00;
if (setting->get_string_representation)
{
for (i = min; i <= max; i += step)
{
char val_s[256], val_d[256];
int val = (int)i;
*setting->value.target.integer = val;
setting->get_string_representation(setting,
val_s, sizeof(val_s));
snprintf(val_d, sizeof(val_d), "%d", setting->enum_idx);
menu_entries_append_enum(info->list,
val_s,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
setting_type, val, 0);
}
*setting->value.target.integer = orig_value;
}
else
{
for (i = min; i <= max; i += step)
{
char val_s[16], val_d[16];
int val = (int)i;
snprintf(val_s, sizeof(val_s), "%d", val);
snprintf(val_d, sizeof(val_d), "%d", setting->enum_idx);
menu_entries_append_enum(info->list,
val_s,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
setting_type, val, 0);
}
}
}
break;
case ST_UINT:
{
float i;
unsigned orig_value = *setting->value.target.unsigned_integer;
unsigned setting_type = MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM;
float step = setting->step;
double min = setting->enforce_minrange ? setting->min : 0.00;
double max = setting->enforce_maxrange ? setting->max : 999.00;
if (setting->get_string_representation)
{
for (i = min; i <= max; i += step)
{
char val_s[256], val_d[256];
int val = (int)i;
*setting->value.target.unsigned_integer = val;
setting->get_string_representation(setting,
val_s, sizeof(val_s));
snprintf(val_d, sizeof(val_d), "%d", setting->enum_idx);
menu_entries_append_enum(info->list,
val_s,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
setting_type, val, 0);
}
*setting->value.target.unsigned_integer = orig_value;
}
else
{
for (i = min; i <= max; i += step)
{
char val_s[16], val_d[16];
int val = (int)i;
snprintf(val_s, sizeof(val_s), "%d", val);
snprintf(val_d, sizeof(val_d), "%d", setting->enum_idx);
menu_entries_append_enum(info->list,
val_s,
val_d,
MENU_ENUM_LABEL_NO_ITEMS,
setting_type, val, 0);
}
}
}
break;
default:
break;
}
}
}
info->need_refresh = true;
info->need_push = true;
}
break;
case DISPLAYLIST_NONE:
break;
}
@ -7701,15 +7889,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
if (frontend_driver_parse_drive_list(info->list, load_content) != 0)
menu_entries_append_enum(info->list, "/", "",
MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0);
info->need_refresh = true;
info->need_push = true;
}
else
{
filebrowser_parse(info, type);
info->need_refresh = true;
info->need_push = true;
}
info->need_refresh = true;
info->need_push = true;
}
if (ret != 0)

@ -54,6 +54,7 @@ enum menu_displaylist_parse_type
enum menu_displaylist_ctl_state
{
DISPLAYLIST_NONE = 0,
DISPLAYLIST_DROPDOWN_LIST,
DISPLAYLIST_INFO,
DISPLAYLIST_HELP,
DISPLAYLIST_HELP_SCREEN_LIST,

@ -147,6 +147,11 @@ enum menu_settings_type
MENU_NETPLAY_TAB,
MENU_ADD_TAB,
MENU_PLAYLISTS_TAB,
MENU_SETTING_DROPDOWN_ITEM,
MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_INT_ITEM,
MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM,
MENU_SETTING_NO_ITEM,
MENU_SETTING_DRIVER,
MENU_SETTING_ACTION,

File diff suppressed because it is too large Load Diff

@ -76,8 +76,7 @@ int menu_setting_generic(rarch_setting_t *setting, bool wraparound);
int menu_setting_set_flags(rarch_setting_t *setting);
int menu_setting_set(unsigned type, const char *label,
unsigned action, bool wraparound);
int menu_setting_set(unsigned type, unsigned action, bool wraparound);
/**
* menu_setting_find:

@ -982,6 +982,7 @@ enum msg_hash_enums
MENU_LABEL(BROWSE_URL),
MENU_LABEL(BROWSE_START),
/* Deferred */
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST,
MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST,
@ -2107,6 +2108,7 @@ enum msg_hash_enums
MSG_CHEAT_SEARCH_ADD_MATCH_SUCCESS,
MSG_CHEAT_SEARCH_ADD_MATCH_FAIL,
MSG_CHEAT_SEARCH_DELETE_MATCH_SUCCESS,
MSG_CHEEVOS_HARDCORE_MODE_DISABLED,
MSG_LAST
};

@ -1,5 +1,59 @@
{
"images" : [
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2688h",
"filename" : "portrait-1252x2688-1.png",
"minimum-system-version" : "12.0",
"orientation" : "portrait",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2688h",
"filename" : "landscape-2688x1242-1.png",
"minimum-system-version" : "12.0",
"orientation" : "landscape",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "1792h",
"filename" : "portrait-828x1792.png",
"minimum-system-version" : "12.0",
"orientation" : "portrait",
"scale" : "2x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "1792h",
"filename" : "landscape-1792x828-1.png",
"minimum-system-version" : "12.0",
"orientation" : "landscape",
"scale" : "2x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "portrait-1125x2436-1.png",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "landscape-2436x1125-1.png",
"minimum-system-version" : "11.0",
"orientation" : "landscape",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
@ -30,9 +84,9 @@
{
"orientation" : "portrait",
"idiom" : "iphone",
"filename" : "portrait-640x960-1.png",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"filename" : "portrait-640x960.png",
"scale" : "2x"
},
{
@ -47,83 +101,107 @@
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"filename" : "portrait-768x1024.png",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"filename" : "landscape-1024x768.png",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"filename" : "portrait-1536x2048.png",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"filename" : "portrait-1536x2048.png",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"filename" : "landscape-2048x1536.png",
"extent" : "full-screen",
"minimum-system-version" : "7.0",
"filename" : "landscape-2048x1536.png",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"filename" : "portrait-320x480.png",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"extent" : "full-screen",
"filename" : "portrait-640x960.png",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"filename" : "portrait-640x1136-1.png",
"extent" : "full-screen",
"filename" : "portrait-640x1136.png",
"subtype" : "retina4",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "to-status-bar",
"filename" : "portrait-768x1004.png",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "to-status-bar",
"filename" : "landscape-1024x748.png",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"filename" : "landscape-1024x748.png",
"extent" : "to-status-bar",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"filename" : "portrait-1536x2008.png",
"extent" : "to-status-bar",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "to-status-bar",
"filename" : "landscape-2048x1496.png",
"extent" : "to-status-bar",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"extent" : "full-screen",
"scale" : "2x"
}
],
@ -131,4 +209,4 @@
"version" : 1,
"author" : "xcode"
}
}
}

Binary file not shown.

After

(image error) Size: 71 KiB

Binary file not shown.

After

(image error) Size: 101 KiB

Binary file not shown.

After

(image error) Size: 126 KiB

Binary file not shown.

After

(image error) Size: 84 KiB

Binary file not shown.

After

(image error) Size: 102 KiB

Binary file not shown.

After

(image error) Size: 12 KiB

Binary file not shown.

After

(image error) Size: 11 KiB

Binary file not shown.

After

(image error) Size: 56 KiB

@ -3156,6 +3156,12 @@ static enum runloop_state runloop_check_state(
&& settings->bools.cheevos_hardcore_mode_enable
&& cheevos_loaded && !cheevos_hardcore_paused;
if (cheevos_hardcore_active && cheevos_state_loaded_flag)
{
cheevos_hardcore_paused = true;
runloop_msg_queue_push(msg_hash_to_str(MSG_CHEEVOS_HARDCORE_MODE_DISABLED), 0, 180, true);
}
if (!cheevos_hardcore_active)
#endif
{

@ -17,7 +17,8 @@ typedef struct InputListElement_t
unsigned port;
unsigned device;
unsigned index;
int16_t state[36];
int16_t *state;
unsigned int state_size;
} InputListElement;
extern struct retro_core_t current_core;
@ -35,11 +36,42 @@ static bool unserialze_hook(const void *buf, size_t size);
static void* InputListElementConstructor(void)
{
const int size = sizeof(InputListElement);
void *ptr = calloc(1, size);
const int initial_state_array_size = 256;
void *ptr = calloc(1, size);
InputListElement *element = (InputListElement*)ptr;
element->state_size = initial_state_array_size;
element->state = (int16_t*)calloc(element->state_size, sizeof(int16_t));
return ptr;
}
static void InputListElementRealloc(InputListElement *element, unsigned int newSize)
{
if (newSize > element->state_size)
{
element->state = realloc(element->state, newSize * sizeof(int16_t));
memset(&element->state[element->state_size], 0, (newSize - element->state_size) * sizeof(int16_t));
element->state_size = newSize;
}
}
static void InputListElementExpand(InputListElement *element, unsigned int newIndex)
{
unsigned int newSize = element->state_size;
if (newSize == 0) newSize = 32;
while (newIndex >= newSize)
{
newSize *= 2;
}
InputListElementRealloc(element, newSize);
}
static void InputListElementDestructor(void* element_ptr)
{
InputListElement *element = (InputListElement*)element_ptr;
free(element->state);
free(element_ptr);
}
static void input_state_destroy(void)
{
mylist_destroy(&input_state_list);
@ -50,11 +82,11 @@ static void input_state_set_last(unsigned port, unsigned device,
{
unsigned i;
InputListElement *element = NULL;
const unsigned MAX_ID = sizeof(element->state) / sizeof(int16_t);
if (id >= 65536) return; /*arbitrary limit of up to 65536 elements in state array*/
if (!input_state_list)
mylist_create(&input_state_list, 16,
InputListElementConstructor, free);
InputListElementConstructor, InputListElementDestructor);
/* find list item */
for (i = 0; i < (unsigned)input_state_list->size; i++)
@ -62,10 +94,13 @@ static void input_state_set_last(unsigned port, unsigned device,
element = (InputListElement*)input_state_list->data[i];
if ( (element->port == port) &&
(element->device == device) &&
(element->index == index) &&
(id < MAX_ID)
(element->index == index)
)
{
if (id >= element->state_size)
{
InputListElementExpand(element, id);
}
element->state[id] = value;
return;
}
@ -76,8 +111,11 @@ static void input_state_set_last(unsigned port, unsigned device,
element->port = port;
element->device = device;
element->index = index;
if (id < MAX_ID)
element->state[id] = value;
if (id >= element->state_size)
{
InputListElementExpand(element, id);
}
element->state[id] = value;
}
int16_t input_state_get_last(unsigned port,
@ -97,10 +135,14 @@ int16_t input_state_get_last(unsigned port,
if ( (element->port == port) &&
(element->device == device) &&
(element->index == index) &&
(id < MAX_ID)
)
return element->state[id];
(element->index == index))
{
if (id < element->state_size)
{
return element->state[id];
}
return 0;
}
}
return 0;
}

@ -858,6 +858,7 @@ static rarch_setting_t setting_action_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -920,6 +921,7 @@ static rarch_setting_t setting_group_setting(enum setting_type type, const char*
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -993,6 +995,7 @@ static rarch_setting_t setting_float_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1069,6 +1072,7 @@ static rarch_setting_t setting_uint_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1147,6 +1151,7 @@ static rarch_setting_t setting_size_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1223,6 +1228,7 @@ static rarch_setting_t setting_hex_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1300,6 +1306,7 @@ static rarch_setting_t setting_bind_setting(const char* name,
result.index = idx;
result.index_offset = idx_offset;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1459,6 +1466,7 @@ static rarch_setting_t setting_string_setting(enum setting_type type,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1580,6 +1588,7 @@ static rarch_setting_t setting_subgroup_setting(enum setting_type type,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1654,6 +1663,7 @@ static rarch_setting_t setting_bool_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1732,6 +1742,7 @@ static rarch_setting_t setting_int_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;

@ -102,6 +102,7 @@ struct rarch_setting
uint8_t index;
uint32_t index_offset;
int8_t offset_by;
unsigned bind_type;
uint32_t size;

@ -41,50 +41,24 @@ static int app_argc = 1;
static char app_name[] = "retroarch";
static char *app_argv[] = { app_name, NULL };
/* ARGB 16x16 */
static const unsigned retroarch_qt_icon_data[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0x00000000,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff, 0xffffffff,
0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff, 0x000000ff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff,
0x000000ff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0xffffffff, 0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff,
0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0xffffffff, 0x000000ff, 0x000000ff, 0x000000ff,
0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff,
0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0x000000ff, 0xffffffff, 0xffffffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x000000ff,
0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
0xffffffff, 0x000000ff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0xffffffff, 0xffffffff, 0xffffffff, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0xffffffff,
0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000
0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
0x00000000,0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xfff2f2f2,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xfff2f2f2,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,
0x00000000,0x00000000,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0xff333333,0x00000000,0x00000000,0x00000000,
0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
};
AppHandler::AppHandler(QObject *parent) :