diff --git a/cheevos/cheevos.c b/cheevos/cheevos.c
index 2d2daab6d8..3c751f0087 100644
--- a/cheevos/cheevos.c
+++ b/cheevos/cheevos.c
@@ -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);
diff --git a/cheevos/cheevos.h b/cheevos/cheevos.h
index 45c799dfe3..c04d63eae0 100644
--- a/cheevos/cheevos.h
+++ b/cheevos/cheevos.h
@@ -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
diff --git a/command.c b/command.c
index 7e4bf1ff36..fc2e978a10 100644
--- a/command.c
+++ b/command.c
@@ -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);
diff --git a/config.def.h b/config.def.h
index 198c2c3fbb..de9215a0a5 100644
--- a/config.def.h
+++ b/config.def.h
@@ -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;
diff --git a/configuration.c b/configuration.c
index 0914c19c03..524efd6180 100644
--- a/configuration.c
+++ b/configuration.c
@@ -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);
diff --git a/gfx/drivers_context/x_ctx.c b/gfx/drivers_context/x_ctx.c
index f04d6d850d..4cd0388200 100644
--- a/gfx/drivers_context/x_ctx.c
+++ b/gfx/drivers_context/x_ctx.c
@@ -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
diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h
index f1cd250913..f2e17652d5 100644
--- a/intl/msg_hash_lbl.h
+++ b/intl/msg_hash_lbl.h
@@ -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,
diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h
index df819d8a24..5737f704b4 100644
--- a/intl/msg_hash_us.h
+++ b/intl/msg_hash_us.h
@@ -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."
+ )
diff --git a/media/ico_src/icon.svg b/media/ico_src/icon.svg
new file mode 100644
index 0000000000..549cc6f68f
--- /dev/null
+++ b/media/ico_src/icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/ico_src/icon128.png b/media/ico_src/icon128.png
new file mode 100644
index 0000000000..51963b8eb9
Binary files /dev/null and b/media/ico_src/icon128.png differ
diff --git a/media/ico_src/icon16.png b/media/ico_src/icon16.png
new file mode 100644
index 0000000000..ec24e78ce7
Binary files /dev/null and b/media/ico_src/icon16.png differ
diff --git a/media/ico_src/icon16.svg b/media/ico_src/icon16.svg
new file mode 100644
index 0000000000..d63c88cb7e
--- /dev/null
+++ b/media/ico_src/icon16.svg
@@ -0,0 +1,256 @@
+
+
diff --git a/media/ico_src/icon192.png b/media/ico_src/icon192.png
new file mode 100644
index 0000000000..066462ca73
Binary files /dev/null and b/media/ico_src/icon192.png differ
diff --git a/media/ico_src/icon24.png b/media/ico_src/icon24.png
new file mode 100644
index 0000000000..6a8a5faaaa
Binary files /dev/null and b/media/ico_src/icon24.png differ
diff --git a/media/ico_src/icon256.png b/media/ico_src/icon256.png
new file mode 100644
index 0000000000..ba65830397
Binary files /dev/null and b/media/ico_src/icon256.png differ
diff --git a/media/ico_src/icon32.png b/media/ico_src/icon32.png
new file mode 100644
index 0000000000..0ed56e1f11
Binary files /dev/null and b/media/ico_src/icon32.png differ
diff --git a/media/ico_src/icon48.png b/media/ico_src/icon48.png
new file mode 100644
index 0000000000..6d33f7146f
Binary files /dev/null and b/media/ico_src/icon48.png differ
diff --git a/media/ico_src/icon64.png b/media/ico_src/icon64.png
new file mode 100644
index 0000000000..dbef305e1d
Binary files /dev/null and b/media/ico_src/icon64.png differ
diff --git a/media/ico_src/icon96.png b/media/ico_src/icon96.png
new file mode 100644
index 0000000000..412dedafc9
Binary files /dev/null and b/media/ico_src/icon96.png differ
diff --git a/media/ico_src/make.sh b/media/ico_src/make.sh
new file mode 100644
index 0000000000..b7e5d536cf
--- /dev/null
+++ b/media/ico_src/make.sh
@@ -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
\ No newline at end of file
diff --git a/media/retroarch-16x16.ico b/media/retroarch-16x16.ico
index bd9042f840..1cb4646c66 100644
Binary files a/media/retroarch-16x16.ico and b/media/retroarch-16x16.ico differ
diff --git a/media/retroarch-16x16.png b/media/retroarch-16x16.png
index 627c0ba2a9..ec24e78ce7 100644
Binary files a/media/retroarch-16x16.png and b/media/retroarch-16x16.png differ
diff --git a/media/retroarch.ico b/media/retroarch.ico
index 6355390e3e..19a0ab8a97 100644
Binary files a/media/retroarch.ico and b/media/retroarch.ico differ
diff --git a/media/retroarch.svg b/media/retroarch.svg
index 08dbe2e93c..9c6f6fc214 100644
--- a/media/retroarch.svg
+++ b/media/retroarch.svg
@@ -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">
@@ -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">
+ originx="-635.53125"
+ originy="-706.75561"
+ spacingx="1"
+ spacingy="1" />
diff --git a/menu/cbs/menu_cbs_cancel.c b/menu/cbs/menu_cbs_cancel.c
index ddd6d09f1d..6d2ff230a8 100644
--- a/menu/cbs/menu_cbs_cancel.c
+++ b/menu/cbs/menu_cbs_cancel.c
@@ -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);
diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c
index 8415ec7010..4c3fac9c5c 100644
--- a/menu/cbs/menu_cbs_deferred_push.c
+++ b/menu/cbs/menu_cbs_deferred_push.c
@@ -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);
diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c
index efcd41013c..c7790e8a8a 100644
--- a/menu/cbs/menu_cbs_get_value.c
+++ b/menu/cbs/menu_cbs_get_value.c
@@ -17,7 +17,6 @@
#include
#include
#include
-#include