diff options
Diffstat (limited to 'riscos/save.c')
-rw-r--r-- | riscos/save.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/riscos/save.c b/riscos/save.c index c6bc06f..acf6ba9 100644 --- a/riscos/save.c +++ b/riscos/save.c @@ -311,7 +311,7 @@ bool ro_gui_load_theme(char *path) { /* Check the header is OK */ if ((file_header->magic_value != 0x4d54534e) || - (file_header->parser_version > 1)) return false; + (file_header->parser_version > 2)) return false; /* Try to load the sprite file */ @@ -413,8 +413,17 @@ bool ro_gui_load_theme(char *path) { file_header->status_bg); ro_gui_set_icon_background_colour(dialog_main, ICON_MAIN_STATUSFG_COLOUR, file_header->status_fg); - ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT, - file_header->throbber_left); + if (file_header->parser_version >= 2) { + ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT, + file_header->theme_flags & (1 << 0)); + ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW, + file_header->theme_flags & (1 << 1)); + } else { + ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT, + file_header->theme_flags); + ro_gui_set_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW, + true); + } /* Remember the filename for saving later on */ @@ -450,7 +459,7 @@ bool ro_gui_save_theme(char *path) { /* Complete the header */ file_header->magic_value = 0x4d54534e; - file_header->parser_version = 1; + file_header->parser_version = 2; strcpy(file_header->name, ro_gui_get_icon_string(dialog_main, ICON_MAIN_NAME)); strcpy(file_header->author, ro_gui_get_icon_string(dialog_main, ICON_MAIN_AUTHOR)); file_header->browser_bg = ro_gui_get_icon_background_colour(dialog_main, @@ -461,10 +470,12 @@ bool ro_gui_save_theme(char *path) { ICON_MAIN_STATUSBG_COLOUR); file_header->status_fg = ro_gui_get_icon_background_colour(dialog_main, ICON_MAIN_STATUSFG_COLOUR); - if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT)) { - file_header->throbber_left = 0xff; - } - + if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_LEFT)) + file_header->theme_flags = (1 << 0); + if (ro_gui_get_icon_selected_state(dialog_main, ICON_MAIN_THROBBER_REDRAW)) + file_header->theme_flags = (1 << 1); + + /* Append the compressed sprites */ if (theme_sprites) { |