diff --git a/applications/main/bad_kb/views/bad_kb_view.c b/applications/main/bad_kb/views/bad_kb_view.c index 61bc70b31..c57216605 100644 --- a/applications/main/bad_kb/views/bad_kb_view.c +++ b/applications/main/bad_kb/views/bad_kb_view.c @@ -48,7 +48,7 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) { if((state == BadKbStateIdle) || (state == BadKbStateDone) || (state == BadKbStateNotConnected)) { - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { elements_button_center(canvas, "Cum"); } else { elements_button_center(canvas, "Run"); @@ -71,7 +71,7 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) { if(state == BadKbStateNotConnected) { canvas_draw_icon(canvas, 4, 26, &I_Clock_18x18); canvas_set_font(canvas, FontPrimary); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { canvas_draw_str_aligned(canvas, 127, 31, AlignRight, AlignBottom, "Plug me"); canvas_draw_str_aligned(canvas, 127, 43, AlignRight, AlignBottom, "in, Daddy"); } else { @@ -81,7 +81,7 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) { } else if(state == BadKbStateWillRun) { canvas_draw_icon(canvas, 4, 26, &I_Clock_18x18); canvas_set_font(canvas, FontPrimary); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { canvas_draw_str_aligned(canvas, 127, 31, AlignRight, AlignBottom, "Will cum"); } else { canvas_draw_str_aligned(canvas, 127, 31, AlignRight, AlignBottom, "Will run"); diff --git a/applications/main/u2f/views/u2f_view.c b/applications/main/u2f/views/u2f_view.c index 46e36b9ff..6487ca5f8 100644 --- a/applications/main/u2f/views/u2f_view.c +++ b/applications/main/u2f/views/u2f_view.c @@ -21,7 +21,7 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { if(model->display_msg == U2fMsgNotConnected) { canvas_draw_icon(canvas, 22, 15, &I_Connect_me_62x31); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { canvas_draw_str_aligned( canvas, 128 / 2, 3, AlignCenter, AlignTop, "Plug me in d-daddy"); } else { @@ -32,7 +32,7 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { canvas_draw_icon(canvas, 22, 15, &I_Connected_62x31); canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Connected!"); } else if(model->display_msg == U2fMsgRegister) { - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { elements_button_center(canvas, "CUM"); canvas_draw_icon(canvas, 22, 15, &I_Auth_62x31); canvas_draw_str_aligned( @@ -44,7 +44,7 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { canvas, 128 / 2, 3, AlignCenter, AlignTop, "Press OK to register"); } } else if(model->display_msg == U2fMsgAuth) { - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { elements_button_center(canvas, "CUM"); canvas_draw_icon(canvas, 22, 15, &I_Auth_62x31); canvas_draw_str_aligned( @@ -57,7 +57,7 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { } } else if(model->display_msg == U2fMsgSuccess) { canvas_draw_icon(canvas, 22, 15, &I_Connected_62x31); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Cum released~"); } else { canvas_draw_str_aligned( @@ -65,7 +65,7 @@ static void u2f_view_draw_callback(Canvas* canvas, void* _model) { } } else if(model->display_msg == U2fMsgError) { canvas_draw_icon(canvas, 22, 15, &I_Error_62x31); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { canvas_draw_str_aligned(canvas, 128 / 2, 3, AlignCenter, AlignTop, "Unable to cum"); } else { canvas_draw_str_aligned( diff --git a/applications/services/desktop/scenes/desktop_scene_fault.c b/applications/services/desktop/scenes/desktop_scene_fault.c index 59da6b30f..65f9425d4 100644 --- a/applications/services/desktop/scenes/desktop_scene_fault.c +++ b/applications/services/desktop/scenes/desktop_scene_fault.c @@ -15,7 +15,7 @@ void desktop_scene_fault_on_enter(void* context) { Popup* popup = desktop->hw_mismatch_popup; popup_set_context(popup, desktop); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { popup_set_header( popup, "Slut passed out\n but is now back", diff --git a/applications/settings/dolphin_passport/passport.c b/applications/settings/dolphin_passport/passport.c index da945924c..4954318e7 100644 --- a/applications/settings/dolphin_passport/passport.c +++ b/applications/settings/dolphin_passport/passport.c @@ -38,7 +38,7 @@ static void render_callback(Canvas* canvas, void* _ctx) { const char* mood_str = NULL; const Icon* portrait = NULL; - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { if(stats->butthurt <= 4) { portrait = &I_passport_happy_46x49; mood_str = "Status: Wet"; diff --git a/applications/settings/power_settings_app/scenes/power_settings_scene_power_off.c b/applications/settings/power_settings_app/scenes/power_settings_scene_power_off.c index 4ea2f7aae..8e1b20b83 100644 --- a/applications/settings/power_settings_app/scenes/power_settings_scene_power_off.c +++ b/applications/settings/power_settings_app/scenes/power_settings_scene_power_off.c @@ -12,7 +12,7 @@ void power_settings_scene_power_off_on_enter(void* context) { DialogEx* dialog = app->dialog; dialog_ex_set_header(dialog, "Turn Off Device?", 64, 2, AlignCenter, AlignTop); - if(xtreme_settings.is_nsfw) { + if(xtreme_assets.is_nsfw) { dialog_ex_set_text( dialog, " I will be\nwaiting for\n you master", 78, 16, AlignLeft, AlignTop); } else { diff --git a/lib/xtreme/assets.c b/lib/xtreme/assets.c index 3ec556df6..d087670a5 100644 --- a/lib/xtreme/assets.c +++ b/lib/xtreme/assets.c @@ -9,6 +9,10 @@ #define ICONS_FMT XTREME_ASSETS_PATH "/%s/Icons/%s" +XtremeAssets xtreme_assets = { + .is_nsfw = false, +}; + void load_icon_animated(const Icon* replace, const char* name, FuriString* path, File* file) { const char* pack = xtreme_settings.asset_pack; furi_string_printf(path, ICONS_FMT "/meta", pack, name); @@ -103,7 +107,7 @@ void free_icon(const Icon* icon) { void XTREME_ASSETS_LOAD() { const char* pack = xtreme_settings.asset_pack; - xtreme_settings.is_nsfw = !strncmp(pack, "NSFW", strlen("NSFW")); + xtreme_assets.is_nsfw = !strncmp(pack, "NSFW", strlen("NSFW")); if(pack[0] == '\0') return; Storage* storage = furi_record_open(RECORD_STORAGE); diff --git a/lib/xtreme/xtreme.h b/lib/xtreme/xtreme.h index b1b64ce9e..0e0c573c1 100644 --- a/lib/xtreme/xtreme.h +++ b/lib/xtreme/xtreme.h @@ -51,8 +51,6 @@ typedef enum { } UARTChannel; typedef struct { - bool is_nsfw; // TODO: replace with packs text support - char asset_pack[XTREME_ASSETS_PACK_NAME_LEN]; uint32_t anim_speed; int32_t cycle_anims; @@ -91,12 +89,17 @@ typedef struct { UARTChannel uart_general_channel; } XtremeSettings; +typedef struct { + bool is_nsfw; // TODO: replace with packs text support +} XtremeAssets; + void XTREME_SETTINGS_LOAD(); void XTREME_SETTINGS_SAVE(); extern XtremeSettings xtreme_settings; void XTREME_ASSETS_LOAD(); void XTREME_ASSETS_FREE(); +extern XtremeAssets xtreme_assets; #ifdef __cplusplus } diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index 356bdc00a..f3f370256 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -4037,4 +4037,5 @@ Variable,+,usb_cdc_single,FuriHalUsbInterface, Variable,+,usb_hid,FuriHalUsbInterface, Variable,+,usb_hid_u2f,FuriHalUsbInterface, Variable,+,usbd_devfs,const usbd_driver, +Variable,+,xtreme_assets,XtremeAssets, Variable,+,xtreme_settings,XtremeSettings,